【Python】深究模块导入:from .. import ..\ import ..

简介: 【Python】深究模块导入:from .. import ..\ import ..

Python中模块导入方式分为两种,以图中为例:mytest.py定义变量,导进main.py

next part详解!!!

1684138630400.jpg


from … import … 用法


from … import …具备三种形式


从py模块中导入变量,import后可以是多个

from [module] import [var],*

1684138669782.jpg

从py模块中导入全部全局变量

from [module] import *

1684138685204.jpg


从py模块中导入单个变量且取别名

注意:本用法不支持批量导入

from [module] import [var] as [var]

1684138711026.jpg


import … 用法


导入整个py模块

import [module]

1684138730697.jpg


导入整个py模块并取别名

import [mudule] as [var]

1684138750020.jpg

导入多个模块

为了下面的测试,新建一个py文件并编写一个变量

1684138779557.jpg

import [module],*

1684138796446.jpg


区别、本质、应用场景


相同点:

1、都是对模块的导入

2、导入模块时,无论导入的函数是什么、有多少,都会完全执行被导入模块的全部代码,理解如下:


将index.func导入main时,print将会被执行

1684138811265.jpg

1684138821060.jpg

1684138828534.jpg


不同点:

1、导入的代码形式不同

2、from不支持批量模块导入,import …支持

3、命名作用域不同,理解如下:

func:函数对象

index: 模块对象,func存在于模块对象中,是嵌套关系

'使用locals打印一下当前空间变量名'
from index import fun
import index
print(locals())

1684138863674.jpg


本质:

不论是from import 还是import,都会到变量名上面来,而变量命名实质上还是为了理解代码。故两者都是为了代码理解服务------划分功能层次


推荐应用场景:

import 和 from… import…可结合使用,但必须保证导入模块的命名是容易理解的(所以需要在编写代码时保证功能模块命名的一致性和可理解性)


相关文章
|
2月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
57 4
|
20天前
|
Python
Python Internet 模块
Python Internet 模块。
118 74
|
2月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
118 63
|
2月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
2月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
2月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
45 5
|
2月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
8月前
|
Python 人工智能 数据可视化
Python模块与包(八)
Python模块与包(八)
60 0
Python模块与包(八)
|
4月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
4月前
|
开发者 Python
30天拿下Python之模块和包
30天拿下Python之模块和包
25 2