Loading

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'

 

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

 

 

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

 

 

posted @ 2018-08-08 15:54  it227  阅读(201)  评论(0编辑  收藏  举报