Python主要调用类

时间:2011-10-24 02:42:39

标签: python pydev

我没有做太多的python - 来自C / Java背景 - 所以请原谅我提出这么简单的问题。我在Eclipse中使用Pydev来编写这个简单的程序,我想要它做的就是执行我的main函数:

class Example():

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


    def main(self):     
        print "Hello World!

这就是我现在所拥有的。我也试过

self.main() 

main()

main(self)

没有一个工作。我错过了什么?

3 个答案:

答案 0 :(得分:43)

首先,您需要在运行之前实际定义一个函数(并且不需要调用它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!"

答案 1 :(得分:9)

整个街区都放错了地方。

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

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

但你真的不应该使用课程just to run your main code

答案 2 :(得分:1)

请记住,您不允许这样做。

class foo():
    def print_hello(self):
        print("Hello")       # This next line will produce an ERROR!
    self.print_hello()       # <---- it calls a class function, inside a class,
                             # but outside a class function. Not allowed.

您必须从类外部或该类中的函数内部调用类函数。