Основной вызов Python в классе

Я не делал много python - исходя из фона C/Java - так извините меня за задание такого простого вопроса. Я использую Pydev в Eclipse, чтобы написать эту простую программу, и все, что я хочу, это выполнить мою главную функцию:

class Example():

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


    def main(self):     
        print "Hello World!

Это то, что у меня есть сейчас. Я также пробовал

self.main() 

и

main()

и

main(self)

никто из них не работает. Что мне не хватает?

Ответы

Ответ 1

Ну, во-первых, вам нужно фактически определить функцию, прежде чем вы сможете ее запустить (и ее не нужно называть 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!"

Ответ 2

Весь блок неуместен.

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

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

Но вы действительно не должны использовать класс для запуска вашего основного кода.