什么是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包的循环导入详解的资料请关注我们其它相关文章!

(0)

相关推荐

  • 关于Python如何避免循环导入问题详解

    前言 Python 中使用package时,出现循环导入问题十分常见,我们创建如下package来说明这个问题: pkg ├── __init__.py ├── module_a.py └── module_b.py 其中, __init__.py 将pkg指定为一个Python package module_a.py中定义了一个action_a()函数,该函数引用了module_b.py中的一个attribute,如一个函数或变量 module_b.py中定义了一个action_b()函数,该

  • 什么是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 

  • Pycharm导入Python包,模块的图文教程

    1.点击File->settings 2.选择Project Interpreter,点击右边绿色的加号添加包 3.输入你想添加的包名,点击Install Package 4.可以在Pycharm保存项目的目录下查看已经安装的包,路径D:\PycharmProjects\untitled\venv\Lib\site-packages 以上这篇Pycharm导入Python包,模块的图文教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 通过文件夹导入包的操作

    通过文件夹导入包要求每个目录下都有一个__init__.py文件,此文件可空白.也可不空. a@ubuntu:~/Desktop$ tree myp myp ├── a │ ├── b.py │ └── __init__.py └── __init__.py 1 directory, 3 files a@ubuntu:~/Desktop$ python3 Python 3.5.2 (default, Nov 12 2018, 13:43:14) [GCC 5.4.0 20160609] on l

  • python包的导入方式总结

    1.from ... import 导入 from package import module1, module2, module3, ... ... 此种导入方法不执行 __init__ 的内容. from pkg01 import p01 p01.sayHello() 2.from package import * 导入当前包 __init__.py 文件中所有的函数和类. 使用方法 func_name() class_name.func_name() class_name.var 3.im

  • python包相关知识点之包的导入、相对路径以及绝对路径

    目录 一.包 二.包的导入 1.import 导入 2.from...import...导入 3.__init__.py文件 4.from 包.模块 import * 三.包的相对和绝对导入 1. 绝对导入 2.相对导入 四.import 导入自定义包的子模块 五.包的单独导入 六.包的安装和发布 总结 一.包 在我们的项目中,可能会有太多的模块 但是我们不能把所有的模块这样放在这里,这样项目会乱七八糟. 我们可以将所有相同类型的模块放在一个文件夹中,这个文件夹就叫做包 包就是文件夹,他用于存放

  • Blender Python编程实现批量导入网格并保存渲染图像

    目录 引言 导入库 移除默认对象和相机 添加多个 “猴头” 网格 创建相机 保存渲染的图像 引言 继上一篇 <Blender Python 编程:快速入门> 我们已经了解了 Blender Python 脚本的基本概念.接下来让我们了解如何用 Python 编程实现一些 有意思的功能(减轻部分工作量). Blender 并不是唯一一款允许你为场景编程和自动化任务的3D软件; 随着每一个新版本的推出,Blender 正逐渐成为一个可靠的 CG 制作一体化解决方案,从使用油脂铅笔的故事板到基于节点

  • Python进阶之import导入机制原理详解

    目录 前言 1. Module组成 1.1 Module 内置全局变量 2. 包package 2.1 实战案例 3.sys.modules.命名空间 3.1 sys.modules 3.2 命名空间 4. 导入 4.1 绝对导入 4.2 相对导入 4.3 单独导入包 5. import运行机制 5.1 标准import,顶部导入 5.2 嵌套import 前言 在Python中,一个.py文件代表一个Module.在Module中可以是任何的符合Python文件格式的Python脚本.了解Mo

  • Python中for循环控制语句用法实例

    本文实例讲述了Python中for循环控制语句用法.分享给大家供大家参考.具体分析如下: 第一个:求 50 - 100 之间的质数 import math for i in range(50, 100 + 1): for j in range(2, int(math.sqrt(i)) + 1): if i % j == 0: break else: print i 输出如下: 53 59 61 67 71 73 79 83 89 97 第二个:把else的位置与if处于同一缩进. import

  • 详解Python中的相对导入和绝对导入

    前言 Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的.包内导入即是包内的模块导入包内部的模块. Python import 的搜索路径 在当前目录下搜索该模块 在环境变量 PYTHONPATH 中指定的路径列表中依次搜索 在 Python 安装路径的 lib 库中搜索 Python import 的步骤 python 所有加载的模块信息都存放在 sys.modules 结构中,当 import 一个模块时,会按如下步骤来进行 如果是 import A,检查 sys.modul

随机推荐