Python类属性引用

时间:2013-04-03 02:59:30

标签: python class

这是我从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类和方法一无所知,只是开始学习。

2 个答案:

答案 0 :(得分:7)

首先创建一个MyClass实例。

test = MyClass()
print test.f()
print MyClass.i

您不需要为i创建MyClass实例,因为它是类成员,而不是实例成员。

答案 1 :(得分:1)

始终通过名称调用函数,该函数由()表示。所以使用 MyClass.f()