1 数学运算模块 math
“math”模块提供了许多常用的数学函数,例如三角函数、四舍五入、指数、对数、平方根、总和等
import math
1.1 常数
math.pi 返回圆周率的数学常数。
math.e 返回指数的数学常数
示例:
print(math.pi)
print(math.e)
1.2 fabs(x)
print(math.fabs(5))
print(math.fabs(-5))
1.3 ceil(x)、floor(x)、round(x)
print(math.ceil(3.1))
print(math.floor(3.1))
print(round(3.51))
print(round(3.49))
1.4 pow(x, y)、sqrt(x)
print(math.pow(2,3))
print(2**3)
print(math.sqrt(9))
1.5 factorial(x)
factorial(x):x的阶乘,x只能为正整数
print(math.factorial(5))
2.6 gcd(a,b)、lcm(a,b)
print(math.gcd(12,8))
print(math.lcm(9,6))
2 随机数模块random
主要用于生成随机数
实现了各种分布的伪随机数生成器
import random
2.1 random()方法
print(random.random())
# 随机数种子,使用种子生成随机数
random.seed()
print(random.random())
print(random.random())
2.2 randint()方法
print(random.randint(8,9))
2.3 randrange()方法
返回指定范围 [a,b) 内的随机数
语法:random.randrange(start, stop, step)
start – 可选, 一个整数,指定开始值,默认值为 0
stop – 必需, 一个整数,指定结束值
step – 可选, 一个整数,指定步长,默认值为 1
示例:
print(random.randrange(1,9,3))
3 日期和时间处理模块datetime
date 类用于表示日期,包含年、月、日三个属性
time 类用于表示时间,包含时、分、秒、微秒等属性
datetime 类是 date 和 time 的结合体,可以同时表示日期和时间
timedelta 类用于表示时间差,可以用于日期和时间的加减操作
import datetime
3.1 datetime
print(datetime.datetime.now())
print(datetime.datetime.now().year)
now=datetime.datetime.now()
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
print(datetime.datetime(2025,1,3,9,30,0))
格式化日期和时间
常用符号
Y
m
d
H
M
S
年 四位
月 两位:01~12
日 两位:01~31
时 两位:0~23
分 两位:00~59
秒 两位:00~59
now=datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
print(now.strftime("%Y年%m月%d日 %H:%M:%S"))
3.2 timedelta
now=datetime.datetime.now()
# 10天后
after_10_date=now+datetime.timedelta(days=10)
print(after_10_date)
# 10天前
before_10_date=now-datetime.timedelta(days=10)
print(before_10_date)
before_10_date=now+datetime.timedelta(days=-10)
print(before_10_date)
# 1月前
before_1_month=now-datetime.timedelta(days=30)
print(before_1_month)
# 1年前
before_1_year=now-datetime.timedelta(days=365)
print(before_1_year)
3.3 date
# print(datetime.date.today())
date=datetime.date.today()
path="D:/333/A/1.txt"
new_name=path.split('/')[-1].replace('.txt','_'+str(date)+'.txt')
print(new_name)
with open(path,'r',encoding='utf-8') as f1:
text=f1.read()
# print(text)
with open('D:/333/B/'+new_name,'w',encoding='utf-8') as f2:
f2.write(text)
4 系统相关模块sys
提供了与python解释器及其环境交互的功能
通过 sys 库,可以访问与 Python 解释器相关的变量和函数,例如命令行参数、标准输入输出、程序退出等。
import sys
4.1 命令行参数
sys.argv 是一个包含命令行参数的列表。sys.argv[0] 是脚本的名称,后续元素是传递给脚本的参数。
print(f'脚本名称:{sys.argv[0]}')
print(f'脚本参数:{sys.argv[1]}')
4.2 sys.exit()
def A():
print('-'*20,'函数A开始','-'*20)
for i in range(10):
print(i)
if i==5:
print('-'*20,'函数A结束','-'*20)
# return结束当前函数
return
# exit退出当前程序
# sys.exit()
def B():
print('-'*20,'函数B开始','-'*20)
A()
# exit时不执行该语句
print('-'*20,'函数B结束','-'*20)
B()
4.3 标准输入输出
sys.stdin、sys.stdout 和 sys.stderr 分别代表标准输入、标准输出和标准错误流。
# 标准输出
with open('d:/333/2.txt','w',encoding='utf-8') as f:
sys.stdout=f
print('标准输出到文件')
# 标准输入
print('输入:')
list1=[]
for i in sys.stdin:
if i.strip()=="":
break
list1.append(i.strip())
print('输出:')
for i in list1:
print(i)