[语言基础] 我只想导入目标包中的一个模块,没想到目标包的其他非模块代码也被执行了。。

问题描述:

目录结构

top
main.py
└ target.py

代码

#----main.py
import target
target.fun()
'''
输出结果
C:\Users\Administrator\Desktop\top>python main.py
target-other
target-function
'''

#----target.py
def fun():
    print('target-function')
print('target-other')

可见导入模块target,即执行import target的时候会把非模块的代码执行一遍

 

 参考Python学习手册P542

import会一次运行在目标文档中的语句从而建立其中的内容

解决方案

if __name__=='__main__':

  pass

posted @ 2019-09-18 23:00  remly  阅读(230)  评论(0编辑  收藏  举报