关于Python如何避免循环导入方法介绍


当前第2页 返回上一页

如:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

# pkg/module_a.py

from __future__ import print_function

  

def action_a():

 print(action_b.__name__)

  

from .module_b import action_b

  

  

# pkg/module_b.py

from __future__ import print_function

  

def action_b():

 print(action_a.__name__)

  

from .module_a import action_a

4. 函数顶部引入,可以用from

在module的function顶部import,如from package import another_module,也支持相对引入,引入module或attribute均可。

如:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

# pkg/module_a.py

from __future__ import print_function

  

def action_a():

 from . import module_b

 print(module_b.action_b.__name__)

  

  

# pkg/module_b.py

from __future__ import print_function

  

def action_b():

 from . import module_a

 print(module_a.action_a.__name__)


1

2

3

4

5

6

7

8

9

10

11

12

13

# pkg/module_a.py

from __future__ import print_function

  

def action_a():

 from .module_b import action_b

 print(action_b.__name__)

  

  

# pkg/module_b.py

from __future__ import print_function

def action_b():

 from .module_a import action_a

 print(action_a.__name__)

这种方式虽然Python 2和3都支持,但编码不够优雅,影响代码可读性,不建议使用


本文讨论的问题,是Python中调用package时,应如何避免循环引入

当直接在命令行执行一个Python module时,适用情况不完全相同

以上就是关于Python如何避免循环导入方法介绍的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Python中的装饰器、生成器与迭代器介绍

Python中序列增量赋值的简单介绍(附示例)

Python是什么语言编写的

Python的变量和变量之间如何实现乘法运算

Python十进制小数和二进制小数相互转换的实现方式

Python常用类型转换实现

Python打错了怎么撤回

Python中常见数据库有哪些

Python中encoding是什么意思

Python语言是做什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...