VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • 开发中常遇到的Python陷阱和注意点(7)

模块循环依赖

在Python中使用import导入模块的时候,有的时候会产生模块循环依赖,例如下面的例子,module_x模块和module_y模块相互依赖,运行module_y.py的时候就会产生错误。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# module_x.py
import module_y
    
def inc_count():
    module_y.count += 1
    print module_y.count
    
    
# module_y.py
import module_x
count = 10
def run():
    module_x.inc_count()
    
run()

       

其实,在编码的过程中就应当避免循环依赖的情况,或者代码重构的过程中消除循环依赖。

 

当然,上面的问题也是可以解决的,常用的解决办法就是把引用关系搞清楚,让某个模块在真正需要的时候再导入(一般放到函数里面)。

 

对于上面的例子,就可以把module_x.py修改为如下形式,在函数内部导入module_y:

1
2
3
4
# module_x.py
def inc_count():
    import module_y
    module_y.count += 1


相关教程