我没有做太多的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)
没有一个工作。我错过了什么?
答案 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.
您必须从类外部或该类中的函数内部调用类函数。