我还处于学习阶段,我有这个问题。
因此,为了执行一个类,我们使用if __name__ == '__main__':
并将该类调用为以下
class Example():
def test(self):
print "Hello There"
if __name__ == '__main__':
Example()
但是,我看到一些使用def launch():
代替if __name__ == '__main__':
的课程,所以问题在于:它们是否相似所以我可以双向或def launch():
有特别的建议?
谢谢。
答案 0 :(得分:-1)
Python在顶层运行任何东西,这就是为什么我们使用类和函数来分离作业(以及其他原因)。
所以例如这里
脚本a.py
def main():
pass
main()
解释器将定义一个名为main()
的函数,但是当它到达顶层的main()
调用时(最左边对齐)
它将执行主要功能。
现在是launch()
if __name__ == '__main__':
Example()
VS
__name__ = __main__
这用于某人想要导入程序或类,但在解释器遇到它时不希望它运行的情况。
导入将在该时间点调用main()
但是,让我们说b.py
在结构上相似但不是main()
它__name__ = __main__
,b.py
除非直接调用,否则不会运行。
我提出这个问题的原因是因为@ harshil9968指出,Python没有"启动"方法。可能发生的事情是他们定义了launch()
方法而不是main()
然后把它放在一个类
下class A():
def launch(self):
#actions
if __name__ == '__main__':
A()
致电A()
调用launch()
类中的A
方法。