web-dev-qa-db-ja.com

Pythonクラス内のメイン呼び出し

私はあまりやっていないpython-C/Javaのバックグラウンドから来た-だからこのような簡単な質問をするのはすみません。このシンプルなプログラムを書くためにEclipseでPydevを使用しています。私のメイン関数を実行することです:

class Example():

if __name__ == '__main__':
    Example().main()        <----- What goes here?


    def main(self):     
        print "Hello World!

それは私が今持っているものです。私も試しました

self.main() 

そして

main()

そして

main(self)

どれも機能しません。私は何が欠けていますか?

23
franka

さて、最初に、関数を実行する前に実際に定義する必要があります(そして、mainと呼ばれる必要はありません)。例えば:

class Example(object):
    def run(self):
        print "Hello, world!"

if __name__ == '__main__':
    Example().run()

ただし、クラスを使用する必要はありません。コードを実行するだけの場合は、関数内に配置して関数を呼び出すか、ifブロックに配置するだけです。

def main():
    print "Hello, world!"

if __name__ == '__main__':
    main()

または

if __name__ == '__main__':
    print "Hello, world!"
47
Amber

そのブロック全体が見当違いです。

class Example(object):
    def main(self):     
        print "Hello World!"

if __name__ == '__main__':
    Example().main()

ただし、クラスを使用するべきではありません メインコードを実行するためだけ