Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在python中遇到了一行:
def somefunc: [...] if __name__ == '__main__': somefunc
我不明白“if __name ...”的作用。
假设我们有:
if __name__ == '__main__': main() #this code will find main
那么这是否类似于 C/C++ 中的 main() 函数,它在任何其他函数之前执行?
如果您直接执行脚本而不导入它,__name__将等于__main__. 但是如果你导入这个文件,__name__将等于导入它的模块的名称。此条件确保您从该文件执行代码。
__name__
__main__
您可以将其视为 C 中的 main() 或 perl 中的 BEGIN { } 块。
当您使用 python file1.py 运行代码时。
__name__在 file1.py 中等于'__main__',但在 file1.py 导入的其他文件中,变量是别的东西。
'__main__'