幸运快三

模块的循环导入效果及模块的蹊径搜索

模块的循环导入效果

一、甚么是循环导入

两个模块相互导入,就组成了导入循环,比以下面的这类情形

分享图片
print(x)
from m2 import x
y = 20
m1.py
分享图片
print(y)
from m1 import y
x = 1
m2.py

幸运快三假定运转m1.py,则会发生`ImportError: cannot import name ‘y`

幸运快三假定运转m2.py,则会发生`ImportError: cannot import name ‘x`

以是根泉源基础因是:在导入的时间,m1须要会见m2的变量y,然则y没有初始化完成
以是处置赏罚赏罚措施有两个:

2、处置赏罚赏罚妄图

y初始化完成后,才让m1.py会见m2.py的变量

计整齐

分享图片
1 print(x)
2 
3 def func1():
4     from m2 import x
5     print(x)
6 
7 y =20
m1.py
分享图片
1 print(y)
2 
3 def func1():
4     from m1 import y
5     print(y)
6 
7 x = 1
m2.py

计整齐

分享图片
1 print(x)
2 
3 y = 20
4 from m2 import x
m1.py
分享图片
1 print(y)
2 
3  x = 1
4  from m1 import y
m2.py

 模块的蹊径搜索

一、模块的的搜索蹊径序次

  1. 先从内存中曾经导入的模块中寻觅
  2. 内置的模块
  3. 自定制的函数中找
  4. 情形变量sys.path中找
  主要记着未来项目的推行文件一定要弄一个情形变量
本站夷易近众号
   迎接关注本站夷易近众号,取得更多热购幸运快三信息
开发小院