Python的模块和包基础内容
在python中模块是一个包含代码的py文件,它可以包含函数、类、变量等。模块提供了一种将相关代码组织在一起的方式,使代码更加可维护和可复用。通过导入模块,我们可以使用其中定义的函数和类。这些包含代码的文件就是所谓的模块包是一个包含多个模块的目录。它为模块提供了一个层次结构,使得代码的组织更加有序。包可以嵌套其他包,并且可以包含一个特殊的文件`__init__.py`,该文件使得包被认为是一个Py
目录
什么是模块
在python中模块是一个包含代码的py文件,它可以包含函数、类、变量等。模块提供了一种将相关代码组织在一起的方式,使代码更加可维护和可复用。通过导入模块,我们可以使用其中定义的函数和类。
这些包含代码的文件就是所谓的模块
什么是包
包是一个包含多个模块的目录。它为模块提供了一个层次结构,使得代码的组织更加有序。包可以嵌套其他包,并且可以包含一个特殊的文件`__init__.py`,该文件使得包被认为是一个Python包。
包含两个模块且含有__init__.py文件,可以认为25年1月19为Python包
模块和包的命名规则
- 模块命名规则
- 模块名应该全小写。
- 可以使用下划线来提高可读性,例如“my_module.py”。
- 避免使用系统中已经存在的模块名,以防止命名冲突。
- 在编写功能模块且需要被调用的模块不能以数字开头,特殊符号开头等
- 包命名规则
- 包名也应该全小写。
- 通常使用短的、有意义的名称,例如“mypackage”。
- 同样可以使用下划线来分隔单词,比如“my_package”。
- 按照Python的约定,包名应该是一个有效的Python标识符(不能以数字开头等)。
如何调用模块和包
调用模块
import语句:使用import
语句可以导入模块
语法为
import 你要导入的模块名
例如,要导入math
模块,可以使用import math
。导入后,可以使用模块名.函数名
的方式调用模块中的函数或变量。
from...import语句:使用from...import
语句可以从模块中导入特定的函数或变量
语法为
from 你要导入的模块 import 你要导入的模块中的方法名
例如,要从math
模块中导入sqrt
函数,可以使用from math import sqrt
。这样就可以直接使用sqrt
函数,而不需要使用math.sqrt
。
import...as语句:使用import...as
语句可以为导入的模块或函数指定别名
语法为
import 你要导入的模块名 as 简写名称
或
from 模块名 import 方法名称 as 简写名称
例如,要将math
模块导入并指定别名为m
,可以使用import math as m
。这样就可以使用m.sqrt
来调用math
模块中的sqrt
函数。
调用包
常规包:常规包是传统的包类型,通常以一个包含__init__.py
文件的目录形式实现。当一个常规包被导入时,这个__init__.py
文件会隐式地被执行,它所定义的对象会被绑定到该包命名空间中的名称。
例如,有一个名为parent
的包,其中包含__init__.py
文件和one
、two
、three
三个子包,导入parent.one
将隐式地执行parent/__init__.py
和parent/one/__init__.py
。
命名空间包:命名空间包是由多个部分构成的,每个部分为父包增加一个子包,各个部分可能处于文件系统的不同位置。命名空间包并不一定会直接对应到文件系统中的对象,它们有可能是无实体表示的虚拟模块。
例如,有一个名为parent
的命名空间包,其中包含one
、two
、three
三个子包,它们可能处于不同的目录或文件中。
在调用包中的模块时,可以使用以下方式:
import语句:使用import
语句可以导入包中的模块
语法为
import 包名.模块名
例如,要导入parent
包中的one
模块,可以使用import parent.one
。
from...import语句:使用from...import
语句可以从包中导入特定的模块或函数
语法为
from 包名 import 模块名/方法名
例如,要从parent
包中导入one
模块中的function1
函数,可以使用from parent.one import function1
。
import...as语句:使用import...as
语句可以为导入的包或模块指定别名,
语法为
import 包名 as 简写名称/别名
或
import 包名.模块名 as 简写名称/别名
例如,要将parent
包导入并指定别名为p
,可以使用import parent as p
。这样就可以使用p.one.function1
来调用parent
包中one
模块的function1
函数。
如何调用包里面的全部模块或者指定个数名称的模块
需要再你要调用的包里面的__init__.py文件里面写入
__all__ = ["该包存在的模块1的名称", "该包存在的模块2的名称"...]
然后在你运行的文件里面导入该包就行,假设我有一个my_project包,里面包含modul1.py,modul2.py两个模块,这时候我们需要再my_project包里面的__init.py文件里面写入
__all__ = ["module1", "module2"]
然后在我们原有的要运行的testDemo.py文件导入该包,然后调用不同的模块
import my_project
my_project.module1.内包含的方法名()
my_project.module2.内包含的方法名()
ok文章到这里就结束了,有错误的话请指出,在这里谢谢大家的阅览了,希望一起共进步

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)