同一模块只导入一次
创建utils.py,内容如下:
print('-----utils.py----')
def add(a,b):
return a+b
创建test1.py,内容如下:
import utils
创建test2.py,内容如下:
from utils import add
创建main.py,内容如下:
import test1.py
import test2.py
执行main.py,结果如下:
-----utils.py----
虽然test1.py和test2.py分别导入utils.py模块,但只打印了一次-----utils.py----,说明 同一模块只导入一次
不要 互相导入 和 调用
创建a.py和b.py
a.py内容如下:
导入b模块,并且调用了b模块的函数
import b
b.test_b()
b.py内容如下:
导入a模块
# 关键代码,导入a模块
import a
def test_b():
print("b.py的test_b()")
执行a.py文件,报错如下:
AttributeError: module 'b' has no attribute 'test_b'
如果将b.py的代码import a移除掉,就可以正常运行
自定义模块名不要与内置模块名同名
创建time.py,内容如下:
def test():
print("测试")
创建main.py,内容如下:
import time
time.sleep()
执行main.py文件报错,因为在导入时,优先 导入 当前工程的time.py ,不在导入内置模块time.py