python if __name__ == ‘__main__‘的作用解释

一、变量__name__ 解释:

内置系统变量,用于标识所在模块(运行模块)的模块名,让解释器知道当前运行的程序是否在本模块。

二、变量__name__ 的值到底是什么

#大家可以看看__name__实际的值是多少哦
print(__name__)

执行以上输出结果为:
main_

三、__name__案例测试

在同目录python下创建test01.py和test02.py,如下图:
在这里插入图片描述
情形1
test01.py内容如下:

def a():
print("我是test01.py文件!!!")

test02.py内容如下:

import test01
print("我是test02.py文件!!!")

运行test02.py文件,结果如下:
我是test01.py文件!!!
我是test02.py文件!!!

情形2
test01.py内容如下:

def a():
if __name__ == '__main__':
print("我是test01.py文件!!!")

test02.py内容如下:

import test01
print("我是test02.py文件!!!")

运行test02.py文件,结果如下:
我是test02.py文件!!!

情形3
test01.py内容如下:

def a():
if __name__ == '__main__':
print("我是test01.py文件!!!")

test02.py内容如下:

import test01
print("我是test02.py文件!!!")
if __name__ == '__main__':
print("我是test02.py加 __name__ == '__main__'的测试!!!")

运行test02.py文件,结果如下:
我是test02.py文件!!!
我是test02.py加 name == 'main’的测试!!!

四、变量__name__ 的使用目的

通过以上案例可看出,只有当文件被执行时,才会满足__name__ == ‘main’,开发过程中,变量__name__ 多数时候被当做代码执行的一个判断条件,当满足条件时执行if内容。其发挥作用最明显的情形就是当存在有import导入时,若导入模块(如:import test01)存在测试内容时,执行test02测试内容时,就会一起执行test01的测试内容。这时候,如果想要避免测试时执行test01的测试内容,可在test01加上__name__ == 'main’判断条件,if内容为测试内容(可test01的情形1到情形2的变化)。

以上就是个人对if name == 'main’的使用理解,有不正确的地方望烧友们指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值