为什么类方法不被调用?

时间:2016-10-04 19:49:44

标签: python class python-3.x methods

我试图调用类方法“func”,它应该打印一些东西,但它永远不会打印出来......没有错误,只是沉默。代码如下:

class AnyClass():
    atr1=0
    atr2='text'

    def func():
        print ('Ran Func')

a = AnyClass()
a.func

3 个答案:

答案 0 :(得分:6)

a.func只是方法对象的名称。您必须使用() 呼叫

>>> a.func
<bound method AnyClass.func of <__main__.AnyClass object at 0x0000000003506240>>

>>> a.func()
Ran Func

另请注意,除非使用self装饰器,否则在定义方法时必须将@staticmethod作为第一个参数传递给方法。

def func(self):
        print ('Ran Func')

答案 1 :(得分:2)

a.func只是对函数对象的引用。要调用它,您需要添加括号。

a.func()

答案 2 :(得分:0)

函数应该有一个括号,如a.func()