python中令人迷惑的if __name__ == ‘__main__‘:

本文解释了在Python中使用if __name__ == '__main__':作为程序入口的原因,以及为何在导入其他模块时它会有所不同。通过实例说明,理解了如何确保代码在自身运行和被调用时的不同行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:
在大家日常使用python过程中if name == ‘main’:作为程序入口但是很多人并没有搞清楚为要使用它作为程序入口,我们不时用if name == ‘main’:一样可以调用对应程序,下面就博客个人理解大致说一下为什么在调用程序时为什么要加if name == ‘main’:作为程序入口。
例子:
执行文件Test,如果不加if name == ‘main’:打印的也是相同结果

def test():
    print('大家五一快乐')
print('好无聊啊')
if __name__ == '__main__':
    print('但是又不想上班')
    test()
# 打印结果:好无聊啊 
# 但是又不想上班
# 大家五一快乐

当我们再创建一个Test1的文件来调用它:

import Test

Test.test()
print('隔壁坐了个二百五')
# 打印结果:好无聊啊
# 大家五一快乐
# 隔壁坐了个二百五

这个时候大家会发现Test文件中if name == ‘main’:下的内容没有被打印出来,这个也大家解释一下为什么,当文件调用它本身时此时python内置变量__name__就等于__main__本身,所以是会执行__name__ == ‘main’:下面的所有,但是当Test文件被其它模块调用时__name__就等于对应文件名不带.py的哦,此时这个if条件就不会成立,所以啊该文件被其它文件调用时if name == ‘main’:下面的内容就不会被执行。所以大家在日常工作学习时最好记得将if name == ‘main’:带上哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值