我想调用类方法“func”,该方法应该打印一些东西,但它永远不会被打印......没有错误,只是沉默。代码如下:为什么类方法没有被调用?
class AnyClass():
atr1=0
atr2='text'
def func():
print ('Ran Func')
a = AnyClass()
a.func
我想调用类方法“func”,该方法应该打印一些东西,但它永远不会被打印......没有错误,只是沉默。代码如下:为什么类方法没有被调用?
class AnyClass():
atr1=0
atr2='text'
def func():
print ('Ran Func')
a = AnyClass()
a.func
a.func
只是方法对象的名称。你必须拨它与()
。
>>> a.func
<bound method AnyClass.func of <__main__.AnyClass object at 0x0000000003506240>>
>>> a.func()
Ran Func
另外请注意,你必须定义它的时候,除非使用了@staticmethod
装饰通过self
的方法作为第一个参数。
def func(self):
print ('Ran Func')
a.func
只是对函数对象的引用。要调用它,你需要添加括号。
a.func()
函数应该有像a.func括号()
你不叫它:'a.func()' –
你没有错误,因为你引用存在,并没有功能错误,但你不要求它通过不叫它来做任何事情 – Aaron
谢谢。看起来我也需要定义是否像:def func(self) – andrewlis