Python 1-2模块的循环导入问题

run.py文件:

import m1 # 第一次导入

# 验证解决方案一:

'''

正在导入m1

正在导入m2

'''

# print(m1.x)

# print(m1.y)

# 验证解决方案二:

import m1 # 第一次导入

'''

正在导入m1

'''

# print(m1.x)

# print(m1.f1)

m1.f1()

'''

正在导入m2

m1.f1---->y:m2

m2.f2--->x:m1

'''

m1.py文件:

# 错误示范

'''

print('正在导入m1')

from m2 import y #第一次导入m2

x='m1'

'''

解决方案一: 把循环导入的语句放到名字定义的后面

print('正在导入m1')

x='m1'

from m2 import y #第一次导入m2

# 解决方案二: 将循环导入语句放到函数内

print('正在导入m1')

def f1():

    from m2 import y,f2 #第一次导入m2

    print('m1.f1---->y: ',y)

    f2()

x='m1'

m2.py文件:

# 错误示范

'''

print('正在导入m2')

from m1 import x

y='m2'

'''

# 解决方案一: 把循环导入的语句放到名字定义的后面

print('正在导入m2')

y='m2'

from m1 import x

# 解决方案二: 将循环导入语句放到函数内

print('正在导入m2')

def f2():

    from m1 import x

    print('m2.f2--->x: ',x)

y='m2'

循环导入问题及解决方案一配图

 

循环导入问题及解决方案二配图

 

猜你喜欢

转载自www.cnblogs.com/hades0607/p/9443326.html