Python __main__和launch()方法之间的区别

Python __main__和launch()方法之间的区别,python,Python,我仍处于学习阶段,我有这个问题 因此,为了执行一个类,我们使用if\uuuuuu name\uuuuu='\uuuuu main\uuuu':并如下调用该类 class Example(): def test(self): print "Hello There" if __name__ == '__main__': Example() 但是,我看到一些类使用def-launch():而不是,如果uuu-name\uuuu=='\uuu-main\uuu':,

我仍处于学习阶段,我有这个问题

因此,为了执行一个类,我们使用
if\uuuuuu name\uuuuu='\uuuuu main\uuuu':
并如下调用该类

class Example():
     def test(self):
        print "Hello There"

if __name__ == '__main__':
    Example()
但是,我看到一些类使用
def-launch():
而不是
,如果uuu-name\uuuu=='\uuu-main\uuu':
,那么这里的问题是:它们是相似的,所以我可以两种方式都使用还是
def-launch():
有一个特殊的建议


多谢各位

Python在顶层运行任何东西,这就是为什么我们使用类和函数来分隔作业(还有其他原因)

举个例子

脚本
a.py

def main():
    pass

main()
解释器将定义一个名为
main()
的函数,但当它到达顶层的
main()
调用时(最左边对齐) 它将执行主功能

现在,对于您的
launch()

vs

当有人想要导入一个程序或类,但当解释器运行到该程序或类中时,不想让它运行时,可以使用这种方法

导入将在该点和时间调用
main()
然而,假设
b.py
在结构上相似,但它没有
main()
而是
\uuuu name\uuuu=\uuuu main\uuuu
b.py
除非直接调用,否则不会运行

我之所以提出这个问题,是因为@harshil9968指出,Python没有“启动”方法。可能发生的情况是,他们定义了一个
launch()
方法,而不是
main()

然后把它放在一个班级里

class A():
    def launch(self):
       #actions

if __name__ == '__main__':
     A()

调用
A()
调用
A
类中的
launch()
方法。

python中没有launch,他必须像您声明的
def test()
一样声明函数名。没有别的。我假设在您的教程中,他们创建了一个名为
launch
的函数,并从函数体内部调用类来执行它?或者
launch
只是类中的另一个函数?您介意给我们举一个
launch
方法的示例吗?@Harrison谢谢。你说
他们创建了一个名为launch的函数,并从函数体内部调用了类来执行它?
你能提供一个例子让我比较一下吗?谢谢,非常感谢。解释得很好:)调用
A
不会调用
launch()
。为什么要这样做?
__name__ = __main__
class A():
    def launch(self):
       #actions

if __name__ == '__main__':
     A()