这是我从python类教程中找到的示例代码。
class MyClass:
i = 12345
def f(self):
return 'hello world'
print MyClass.f
print MyClass.i
一旦我运行这个,我期待“hello world”和“12345”的输出结果。但相反,我得到了这个
>>>
<unbound method MyClass.f>
12345
>>>
为什么不给我'你好世界'?如何更改我的代码以便打印出“hello world”? P.S我对python类和方法一无所知,只是开始学习。
答案 0 :(得分:7)
首先创建一个MyClass实例。
test = MyClass()
print test.f()
print MyClass.i
您不需要为i创建MyClass实例,因为它是类成员,而不是实例成员。
答案 1 :(得分:1)
始终通过名称调用函数,该函数由()
表示。所以使用
MyClass.f()