理解 __name__=='__main__' 的作用

if __name__=='__main__'在Python代码中常见,一直不是很明白这个的用法,最近在学习测试开发刚好提到这点,就把这个知识点记录下来吧。

个人理解如下:每个.py文件的__name__都的等于__main__,当且仅当__nam__为__main__的时候才执行if语句的代码。也就是说,只有在当前.py执行的时候才会运行if语句的代码,如果是B.py是被当前A.py文件调用的,则被调用的B.py文件的if语句的代码是不会被调用的,因为被调用的B.py的__name__在此时是为B,而不是__main__,A.py的__name__才为__main__。

举例1:

test01.py源码如下:

class TestModule:
    def test_01(self):
        print("这是01方法!")
    def test_02(self):
        print("这是02方法!")
print(__name__)

test02.py源码如下:

from test01 import TestModule
if __name__=='__main__':
    tm1 = TestModule()

在运行test02.py的时候,输出test01.py的__name__

举例2:

test01.py源代码如下:

class TestModule:
    def test_01(self):
        print("这是01方法!")
    def test_02(self):
        print("这是02方法!")

if __name__=='__main__':
     tm = TestModule()
     tm.test_01()
     tm.test_02()

test02.py源代码如下:

from test01 import TestModule

if __name__=='__main__':
    tm1 = TestModule()
    tm1.test_01()
    tm1.test_02()

运行test02.py,只有test02.py的tm1.test_01()和tm1.test_02()被运行了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值