两个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