我在python中遇到过一行:
def somefunc:
[...]
if __name__ == '__main__':
somefunc
我不明白“if __name ...”是做什么的。
假设我们有:
if __name__ == '__main__': main()
#this code will find main
这类似于C / C ++中的main()函数,它在任何其他函数之前执行?
答案 0 :(得分:8)
如果直接执行脚本而不导入脚本,__name__
将等于__main__
。但是,如果导入此文件,__name__
将等于导入它的模块的名称。
这种情况可确保您从此文件中执行代码。
答案 1 :(得分:1)
您可以将其视为C中的main()或perl中的BEGIN {}块。
使用python file1.py运行代码时。
file1.py中的 __name__
等于'__main__'
,但在file1.py导入的其他文件中,该变量是其他内容。