什么是Python包的循环导入

avatar 2021年2月11日10:26:04 评论 24

一、包的安装、使用

1、安装的方式

找到模块的压缩包解压进入文件夹执行命令:

python setup.py install

注意:

如果在install的时候,执行目录安装,可以使用:

python setup.py install –prefix=安装路径

2、模块的引入

在程序中,使用from import 即可完成对安装的模块使用。

from 模块名 import 模块名或者*

二、什么是循环导入

A.py

from B import b
print("这是A模块")
def a():
    print("hello a")
    b()
a()

B.py

from A import a
print("这是B模块")
def b():
    print("Hello b")
    a()
b()

相关推荐:《Python视频教程》

运行python a.py

Traceback (most recent call last):
  File "C:UsersSe7eN_HOUDesktopA.py", line 1, in 
    from B import b
  File "C:UsersSe7eN_HOUDesktopB.py", line 1, in 
    from A import a
  File "C:UsersSe7eN_HOUDesktopA.py", line 1, in 
    from B import b
ImportError: cannot import name 'b' from 'B' (C:UsersSe7eN_HOUDesktopB.py)

像这样A里面引用了B,B里面又引用了A,这样就叫做循环引用。

三、怎样避免循环导入

1. 程序设计上分层,降低耦合。

2. 导入语句放在后面需要导入时再导入,例如放在函数体内导入。

内容扩展:

python中如何引入包?

1、有2个模块功能有些联系

receiveMsg.py和sendMsg.py都在msg文件夹里面。

2、使用import 文件.模块的方式导入

在桌面创建demo.py文件,并把receiveMsg.py和sendMsg.py使用import文件.模块的方式导入demo.py文件。

文章来源于互联网:什么是Python包的循环导入

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: