Python主要功能

Jos*_*osh 5 python program-entry-point

我在python中遇到了一行:

def somefunc:
    [...]

if __name__ == '__main__':
    somefunc
Run Code Online (Sandbox Code Playgroud)

我不明白"if __name ..."的作用.

假设我们有:

if __name__ == '__main__': main()

#this code will find main
Run Code Online (Sandbox Code Playgroud)

这类似于C/C++中的main()函数,它在任何其他函数之前执行吗?

小智 8

如果直接执行脚本而不导入它,__name__则等于__main__.但是如果导入此文件,__name__则将等于导入它的模块的名称.此条件确保您从此文件执行代码.


fro*_*net 1

您可以将其视为 C 中的 main() 或 perl 中的 BEGIN { } 块。

当您使用 python file1.py 运行代码时。

__name__在 file1.py 中等于'__main__',但在 file1.py 导入的其他文件中,该变量是其他东西。