Python模块和包
模块
定义
:Python 模块(Module),是一个 Python 文件,以 .py 结尾. 模块能定义函数,类和变量,模块里也能包含可执行的代码。
模块的导入方式
语法
:[from 模块名] import [模块|类|变量|函数|*] [as 别名]
常用组合
:
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名
import 模块名
基本语法:
import 模块名 |
案例:导入time模块
# 导入时间模块 |
from 模块名 import 功能名
基本语法:
from 模块名 import 功能名 |
案例:导入time模块中的sleep方法
# 导入时间模块中的sleep方法 |
as定义别名
基本语法:
# 模块定义别名 |
案例
# 模块别名 |
# 功能别名 |
自定义模块
每个Python文件都可以作为一个模块,模块的名字就是文件的名字。
测试模块
在实际开发中,当一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果,这个开发人员会自行在py文件中添加一些测试信息。此时会出现一个问题,无论是当前文件,还是其他已经导入了该模块的文件,在运行的时候都会自动执行test
函数的调用。
解决方案
:
def test(a, b): |
注意事项
:当导入多个模块的时候,且模块内有同名功能. 当调用这个同名功能的时候,调用到的是后面导入的模块的功能
__all__
变量
如果一个模块文件中有__all__
变量,当使用from xxx import *
导入时,只能导入这个列表中的元素
Python包
定义:从物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py
文件,该文件夹可用于包含多个模块文件。从逻辑上看,包的本质依然是模块。
作用:当我们的模块文件越来越多时,包可以帮助我们管理这些模块, 包的作用就是包含多个模块,但包的本质依然是模块
创建包
步骤:
新建包
my_package
新建包内模块:
my_module1
和my_module2
在模块内补充代码
导入包
- 方式一
import 包名.模块名 |
- 方式二
注意:必须在__init__.py
文件中添加__all__ = []
,控制允许导入的模块列表。 __all__
针对的是from ... import *
这种方式,对 import xxx
这种方式无效
from 包名 import * |