首页 > 其他 > 详细

20210521 py文件不同的执行方式

时间:2021-05-21 18:20:04      阅读:22      评论:0      收藏:0      [点我收藏+]
如何区分一个py文件是被作为主程序执行,还是作为一个模块被导入到其他文件中使用呢?
要区分一个文件是作为主程序执行还是作为模块被导入,需要用到模块的__name__属性。
1-1 py1.py
def sum(a,b):
    return a+b
mysum = sum(1,2)
print(‘1+2=‘,mysum)
print(‘Module Name:‘,__name__) # 这是一个魔术属性,是python的内置属性
-->
1+2= 3
Module Name: __main__
# # py1 作为主程序使用时,打印的结果是 __main__
1-2 py2.py
from py1 import sum
a = sum(4,5)
print(a)
--->
1+2= 3
Module Name: py1
9
# 所以同一个文件,作为主程序执行和作为模块被导入的时候,__name__属性的值是不同的
# 通常写法是
if __name__ == ‘__main__‘:  # 说明当前文件被作为主程序执行
2-1 py1.py
def sum(a,b):
    return a+b

if __name__ == ‘__main__‘:
    mysum = sum(1,2)
    print(‘1+2=‘,mysum)
    print(‘Module Name:‘,__name__)
# 运行 py1.py 得到以下结果
--->
1+2= 3
Module Name: __main__
2-1-2 将 py1.py 作为被导入的模块
from py1 import sum
a = sum(4,5)
print(a)
--->
9
# 这时只显示 a 的值
我们可以通过if __name__ == ‘__main__‘:来区分当前模块的使用方式。

20210521 py文件不同的执行方式

原文:https://blog.51cto.com/u_15149862/2800977

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!