我有这个:
class MyClass:
"""A simple example class"""
i = 12345
def f(self):
print i # self.i will work just fine
return 'hello world'
当我做:
>>> x = MyClass()
>>>
>>> x.f()
正如预期的那样,我收到一个错误。
我的问题是:
为什么我会收到错误消息?
为什么函数(或方法)定义的命名空间和包含该类的模块的全局命名空间之间没有命名空间?
在这种情况下,除了使用 self 之外,还有其他方法可以在 f 中引用 i 吗?