(2018-04-07.Python从Zero到One)一、python高级编程__1.2.2循环导入

上一篇文章为:→1.2.1import导入模块

循环导入

1. 什么是循环导入

a.py

from b import b 

print '---------this is module a.py----------'
def a():
    print("hello, a")
    b() 

a()

b.py

from a import a

print '----------this is module b.py----------'
def b():
    print("hello, b")

def c():
    a() 
c()

运行python a.py

day12_其他知识-01.png

2. 怎样避免循环导入

  1. 程序设计上分层,降低耦合
  2. 导入语句放在后面需要导入时再导入,例如放在函数体内导入将 import 语句移到函数的内部,只有在执行到这个模块时,才会导入相关模块。

比如 a.py修改为


print '---------this is module a.py----------'
def a():
    from b import b 
    print("hello, a")
    b() 

a()

b.py修改为


print '----------this is module b.py----------'
def b():
    print("hello, b")

def c():
    from a import a
    a() 
c()

下一篇文章为:→1.2.3作用域
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,084评论 17 410
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,241评论 4 16
  • 你是不是也曾经因为孤单而特别沮丧和不安?有时候从忙碌的工作或者热闹的聚会中,回到一个人住的家,便突如其来地感觉孤独...
    祥子_8054阅读 315评论 0 0
  • 今天看了橙子君的每日橙思,第一时间想说说自己的感受,可是呀,一早就忙着了!这不,现在才空闲下来。现在必须抓紧时间写...
    下半辈子_阅读 295评论 0 0
  • 无量水/文 2017.6.5 接小儿子从幼儿园回来,在三楼的大平台上碰到了两个长他一岁的小伙伴儿,他们...
    诸葛恩德阅读 237评论 0 0