if __name__ == "__main__"的理解

两个py文件

a.py

from b import PI

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

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

main()

b.py

PI = 3.14

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

执行python a.py

结果:

PI: 3.14
a
__main__
round area:  12.56

每一个.py文件都是一个模块。模块内部有个内置变量__name__ .

当我们python a.py 时,此时a.py是当前模块, a.py内置变量__name__是“__main__”

由于我们导入了b.py, b.py模块的内置变量__name__ = "b"。

当我们不想让b.py中的main.py执行时

b.py

PI = 3.14

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

print(__name__)
if __name__ == "__main__":
    main()

 

所以在b.py中  __name__== "a"  !="__main__"

这样b.py总的main()函数不会执行

a
__main__
round area:  12.56

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值