web-dev-qa-db-ja.com

python:NameError:グローバル名「...」が定義されていません

私のコードには、次のものがあります。

class A:
    def a():
        ......

    def b():
        a()
        ......
    b()

次に、コンパイラは「NameError:global name a() is not defined。」と言います。クラスAからすべてのものを取り出しても問題ありませんが、クラスAでメソッドを定義するにはどうすればよいですか?どうもありがとうございました。

35
Robert

aからbを呼び出すには、self.a()を呼び出す必要があります。 anotグローバル関数ではなく、クラスのメソッドです。

Pythonのクラスに関するチュートリアル をさらに読んで、より詳細な情報を取得することもできます。

61
Martijn Pieters