什么是Python包的循环导入


Posted in Python onSeptember 08, 2020

一、包的安装、使用

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 文件和输入输出小结
Oct 09 Python
Python合并多个装饰器小技巧
Apr 28 Python
python实现通过代理服务器访问远程url的方法
Apr 29 Python
Python常用的爬虫技巧总结
Mar 28 Python
python web框架学习笔记
May 03 Python
python 读取excel文件生成sql文件实例详解
May 12 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
itchat-python搭建微信机器人(附示例)
Jun 11 Python
Django项目使用CircleCI的方法示例
Jul 14 Python
Python读取YAML文件过程详解
Dec 30 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 Python
Python grequests模块使用场景及代码实例
Aug 10 Python
聊聊python中的循环遍历
Sep 07 #Python
详解python中的闭包
Sep 07 #Python
python logging模块的使用
Sep 07 #Python
了解一下python内建模块collections
Sep 07 #Python
Python pymsql模块的使用
Sep 07 #Python
Python虚拟环境的创建和使用详解
Sep 07 #Python
python用Tkinter做自己的中文代码编辑器
Sep 07 #Python
You might like
PHP中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
js一组验证函数
2008/12/20 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
2014/04/08 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
python 全文检索引擎详解
2017/04/25 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
python 一维二维插值实例
2020/04/22 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
小学清明节活动方案
2014/03/08 职场文书
奥林匹克的口号
2014/06/13 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android
Redis过期数据是否会被立马删除
2022/07/23 Redis