为什么类方法没有被调用?

2024-10-06 11:17:48 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

a = AnyClass()
a.func

Tags: 方法代码textdef错误classfuncprint
3条回答

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()的圆括号

相关问题 更多 >