2016-03-31 4 views
-2

私はpythonの初心者です。メインメソッドを使って簡単なクラスを作成し始めました。下記のpythonコードのいくつかの行を見つけてください。printステートメントでmainメソッドを作成しました。Python 2.6.6のPythonクラスとメインメソッドのエラー

def main(): 
     print("inside main method") 
    if __name__ == "__main__": 
     main() 

クラスなしで上書きするとエラーなしで正常に動作しますが、クラス内に同じコードを置くと、PythonでNamedErrorに直面しています。私が上で実行すると

class Test: 
    def main(): 
     print("inside main method") 
if __name__ == "__main__": 
    main() 

私はエラー NameErrorの下に取得しています:名「メインは」が定義されていません。 TigerhawkT3は、あなたが主な内部クラスを置くとき、それはもはやグローバルスコープからアクセス可能であると述べていないよう

私は、Pythonの2.6.6バージョン

すべての
+2

初心者の方は、長い冗長バージョンのPythonを使用しないでください。 Python2を学びたいなら、python 2.7.10程度を使ってください。Python 3を学びたいなら3.4.2程度を使ってください。 –

+3

クラスの中に 'main'を置くと、そのようなグローバルスコープからアクセスできなくなります。 – TigerhawkT3

+2

また、あなたの質問を見やすくするために、あなたのコードをコードとして、テキストをコードとしてフォーマットしてください –

答えて

0

ファーストを使用しています。

class Test: 
    def main(self): 
     print("inside main method") 

そして、あなたは以下を使用する必要があり、それを呼び出すことができるように:あなたは、クラスのあなたの主要部分を作りたいのであれば、あなたは、次のように定義する必要があり

if __name__ == "__main__": 
    Test().main() 

Iを次のチュートリアルをお読みになることをお勧めします:https://docs.python.org/2/tutorial/classes.html

関連する問題