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)

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