什么是Python包的循环导入

 更新时间:2020年09月08日 07:28:12   作者:爱喝马黛茶的安东尼  
在本篇文章里小编给大家整理的是关于什么是Python包的循环导入的相关知识点,有兴趣的朋友们可以参考下。

一、包的安装、使用

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:\Users\Se7eN_HOU\Desktop\A.py", line 1, in <module>
    from B import b
  File "C:\Users\Se7eN_HOU\Desktop\B.py", line 1, in <module>
    from A import a
  File "C:\Users\Se7eN_HOU\Desktop\A.py", line 1, in <module>
    from B import b
ImportError: cannot import name 'b' from 'B' (C:\Users\Se7eN_HOU\Desktop\B.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包的循环导入的详细内容,更多关于Python包的循环导入详解的资料请关注脚本之家其它相关文章!

相关文章

  • python实现的汉诺塔算法示例

    python实现的汉诺塔算法示例

    这篇文章主要介绍了python实现的汉诺塔算法,结合实例形式分析了汉诺塔算法的原理、实现方法及相关操作注意事项,需要的朋友可以参考下
    2019-10-10
  • Python for Informatics 第11章 正则表达式(一)

    Python for Informatics 第11章 正则表达式(一)

    这篇文章主要介绍了Python for Informatics 第11章 正则表达式(一)的相关资料,需要的朋友可以参考下
    2016-04-04
  • Python网络编程之HTTP客户端模块urllib与urllib3

    Python网络编程之HTTP客户端模块urllib与urllib3

    这篇文章介绍了Python网络编程之HTTP客户端模块urllib与urllib3,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • python opencv实现简易画图板

    python opencv实现简易画图板

    这篇文章主要为大家详细介绍了python opencv实现简易画图板,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • Python使用Pillow实现图像基本变化

    Python使用Pillow实现图像基本变化

    这篇文章主要为大家详细介绍了Python如何使用Pillow实现图像的基本变化处理,文中的示例代码讲解详细,具有一定的学习价值,需要的可以了解一下
    2022-10-10
  • Pygame游戏开发之太空射击实战碰撞改进篇

    Pygame游戏开发之太空射击实战碰撞改进篇

    相信大多数8090后都玩过太空射击游戏,在过去游戏不多的年代太空射击自然属于经典好玩的一款了,今天我们来自己动手实现它,在编写学习中回顾过往展望未来,在本课中,我们将讨论如何更改 Pygame 处理精灵之间冲突的方式
    2022-08-08
  • 解决Django transaction进行事务管理踩过的坑

    解决Django transaction进行事务管理踩过的坑

    这篇文章主要介绍了解决Django transaction进行事务管理踩过的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • python之pyqt5通过按钮改变Label的背景颜色方法

    python之pyqt5通过按钮改变Label的背景颜色方法

    今天小编就为大家分享一篇python之pyqt5通过按钮改变Label的背景颜色方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python算法练习之兔子产子(斐波那切数列)

    python算法练习之兔子产子(斐波那切数列)

    这篇文章主要给大家介绍python算法练习兔子产子,文章先进行问题描述及分析然后设计算法最后再得出完整程序,需要的朋友可以参考一下 文章得具体内容
    2021-10-10
  • pycharm下查看python的变量类型和变量内容的方法

    pycharm下查看python的变量类型和变量内容的方法

    今天小编就为大家分享一篇pycharm下查看python的变量类型和变量内容的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论