私はこれを持っています:
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を参照する他の方法はありますか?