在Python的标准安装中,包含了一组自带的模块,这些模块被称为"标准库"。比如常用的math、random、datetime、os、json等。
此外,还有很多的第三方模块,比如pymysql 、numpy、request、pandas等等。通过这些强大的扩展库,形成了Python的强大"生态圈"
模块的概念和基本使用
Python的模块,其实就是.py结尾 的Python文件,模块里可以定义类,变量、函数,以及可执行的代码。我们导入模块,就可以用这些模块的功能。
1、import 模块名1 [as 别名1],模块名2 [as 别名2],模块名3 [as 别名3],......;导入整个模块;
注:导入整个模块内所有成员,包括变量,函数,类等。
2、from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2],...成员名n [as 别名n];导入模块中指定的成员;
注:成员可以是变量,函数,类等。
导入模块:
import random # 导入python内置的random模块
print(random.randint(1,10))
带别名:
import random as r # import 模块名 as 别名
print(r.randint(1,10))
导入多个模块
import random,time
print("等待5秒执行start")
time.sleep(5)
print(random.randint(1,10))
print("等待5秒执行end")
导入模块成员
from random import randint as r1
print(r1(1,10))
自定义模块
可以自己定义一些模块,来实现项目的功能。
新建math_util.py
# 模块级别的变量
PI = 3.14159
# 函数
def add(a, b):
"""返回两个数的和"""
return a + b
def multiply(a, b):
"""返回两个数的乘积"""
return a * b
def circle_area(radius):
"""计算圆的面积"""
return PI * radius ** 2
# 类
class Calculator:
def __init__(self):
self.history = []
def calculate(self, operation, a, b):
if operation == 'add':
result = add(a, b)
elif operation == 'multiply':
result = multiply(a, b)
else:
return None
self.history.append(f"{operation}({a}, {b}) = {result}")
return result
import math_util as m
print("测试数学运算模块:")
print(f"5 + 3 = {m.add(5, 3)}")
print(f"半径5的圆面积: {m.circle_area(5)}")
'''
输出 :
测试数学运算模块:
5 + 3 = 8
半径5的圆面积: 78.53975
'''
在模块中添加测试代码
在模块中添加可执行的测试代码,模块被导入的时候,可执行代码也会被导和并且执行。不想测试代码被执行,可以利用模块内置的name变量来进行区分。
如果直接用python来运行一个模块,name的变量值为main。
如果该模块被导入其他程序中,name变量的值变是模块名。
因此,如果希望测试代码只在有在直接使用python命令进才执行,可以在调用测试代码时增加判断 :当name变量值等于main时才可以调用测试函数。、
# 模块测试代码
if __name__ == "__main__":
print("测试模块:")