Python主要调用类

fra*_*nka 24 python pydev

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

class Example():

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


    def main(self):     
        print "Hello World!
Run Code Online (Sandbox Code Playgroud)

这就是我现在拥有的.我也试过了

self.main() 
Run Code Online (Sandbox Code Playgroud)

和

main()
Run Code Online (Sandbox Code Playgroud)

和

main(self)
Run Code Online (Sandbox Code Playgroud)

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

Amb*_*ber 49

嗯,首先,您需要在运行之前实际定义一个函数(并且不需要调用它main).例如:

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

if __name__ == '__main__':
    Example().run()
Run Code Online (Sandbox Code Playgroud)

但是你不需要使用类 - 如果你想要做的就是运行一些代码,只需将它放在函数中并调用函数,或者只是将它放在if块中:

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

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

要么

if __name__ == '__main__':
    print "Hello, world!"
Run Code Online (Sandbox Code Playgroud)

  • @vegansmarties在Python中经常使用类.但是类是构建程序的一种方式,它有很多语义包袱.如果您只需要组织和命名空间,那么只需使用模块,恕我直言.我总是模糊地激怒了我,Java坚持认为"一切都必须成为一个类的一部分"延伸到将事物变成与它们不相似的类. (3认同)

Ign*_*ams 10

整个街区都放错了地方.

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

if __name__ == '__main__':
    Example().main()
Run Code Online (Sandbox Code Playgroud)

但是你真的不应该只使用一个类来运行你的主代码.