模块
Python模块(Module)是一个Python文件,以.py后缀结尾,包含了Python对象定义和Python语句。
模块能定义函数、类和变量,模块内也能包含可执行的代码。
导入模块
导入模块的方式
# 基础方式
1. import 模块名
2. from 模块名 import 功能名
3. from 模块名 import *
# 别名方式
4. import 模块名 as 别名
5. from 模块名 import 功能名 as 别名
import
# 导入模块
import 模块名
# 调用模块
模块名.功能名()
import math
print(math.sqrt(9)) # 3
from...import...
from 模块名 import 功能1,功能2...
from math import sqrt
print(sqrt(9)) # 3
from...import *
from 模块名 import *
*表示导入所有功能
from math import *
print(sqrt(9)) # 3
as
定义别名
模块定义别名(模块起别名)
import 模块名 as 别名
功能定义别名(功能起别名)
from 模块名 import 功能 as 别名
制作模块
模块的名字就是文件的名字。
- 自定义模块名必须要符合标识符命名规则;
- 自定义的文件名不能与已有的模块名重复,否则模块功能无法使用;
使用
**from 模块名 import 功能**
时,如果功能名字重复,默认只调用最后定义或导入的功能。制作模块的步骤
定义模块(类似于分文件、分模块设计功能)
测试模块
在功能函数代码中,使用
if
的方式添加测试代码。功能函数代码文件内,访问
**__name__**
,返回的是**__main__**
;- 在功能函数文件外,访问
**__name__**
,返回的是模块文件名。 ```python添加测试代码示例——功能函数内访问
def testA(a, b): print(a + b)
测试代码
if name == “main“: testA(2, 2)
<a name="IEaHx"></a>
### 调用模块
```python
# 导入模块
import 导入模块
# 调用模块
模块.功能名()
模块路径查找顺序
__all__
列表
如果一个模块文件中,有all变量列表时,当使用**from 模块名 import ***
导入时,默认只能导入这个列表中的元素名称下的功能。
# 模块代码----myModule
__all__ = ["testA"]
def testA():
print("testA")
def testB():
print("testB")
# 模块嗲用
from myModule import *
testA() # testA
testB() # 报错
包的使用方法
包
把相互有联系的模块,放到同一个文件夹下,并在这个文件夹创建一个**__init__.py**
文件,这个文件夹称之为包。
制作包
制作包的步骤
在解析器(Pycharm)==> [New] ==> [Python Package] ==> 输入包名 ==> [OK] ==> 新建功能模块。
导入包
导入方法一
# 导入包
import 包名.模块名
# 调用包
包名.模块名.目标
导入方法二
该方法必须在**__init__.py**
文件中添加**__all__ = []**
,控制允许导入的模块列表。
# 导入包
from 包名 import *
# 调用包
模块名.目标