The*_*ob. 6 python static-methods python-2.7
我有这样的结构:
def foobar():
print('FOOBAR!')
class SampleClass:
foo = foobar
def printfunc(self):
self.foo()
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为原始foobar函数无法处理self
传递给它 - 它不是任何类或对象的一部分开始.Python也不会让我添加@staticmethod
装饰器.
我无法控制定义foobar
,我可能必须覆盖foo
子类的值.
如何在不传递调用它的对象的情况下调用foo?
装饰器是普通函数,您应该能够staticmethod(foobar)
在类定义中显式调用
class SampleClass:
foo = staticmethod(foobar)
def printfunc(self):
self.foo() # Prints 'FOOBAR!'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
638 次 |
最近记录: |