if __name__ == '__main__' 是什么意思

__name__是python中的内置变量,表示当前模块/方法/函数的名称

当.py文件被直接运行时,if name == 'main'之下的代码块将被运行;当.py文件以模块形式被导入时,if name == 'main'之下的代码块不被运行。

如:
定义const.py

PI = 3.14

def main():
    print("PI:", PI)

if __name__ == '__main__':
    main()

直接运行该py文件:

PI: 3.14

创建main.py文件,将const.py以模块形式导入到main.py中,const.py代码不变

from const import PI

def calc_round_area(radius):
    return PI * (radius ** 2)

def main():
    print("round area: ", calc_round_area(2))

main()

运行结果:

round area:  12.56

此时const.py的if name == 'main'下的函数不被运行。
此时可以在const.py中添加代码:

print(__name__)

打印会发现,__name__此时为"const"

同样,在main.py打印__name__,会发现main.py中的__name__为__main__


全部代码:
const.py:

PI = 3.14

def main():
    print("PI:", PI)

print(__name__)
if __name__ == '__main__':
    main()
from const import PI

def calc_round_area(radius):
    return PI * (radius ** 2)

def main():
    print("round area: ", calc_round_area(2))

print(__name__)
main()

运行结果:

const
__main__
round area:  12.56

作者:Gim

出处:https://www.cnblogs.com/Gimm/p/18177841

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   踩坑大王  阅读(679)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示