python中的模块化编程:日期模块、math算术模块、random模块
- 内置模块(math、random、时间)
- 自定义模块(自己写的部分代码)
- 第三方模块(引入的第三方代码库的模块)
math模块
import math#圆周率
print(math.pi)
#自然常数
print(math.e)
#圆周率的二倍
print(math.tau)
#阶乘(5阶乘结果)
r = math.factorial(5)
print(r)
# 最大公约数(欧几里得几何原本)
print(math.gcd(40, 104))
# 最小公倍数
print(math.lcm(40, 104))
测试结果
random模块
import random#生成指定范围随机整数
a = random.randint(1,10)
b = random.randint(1,10)
print(a,b)# 0.0 ~ 1.0 浮点数
print(random.random())# 随机取一个
print(random.choice(['a','b','c']))
# 取样,取几个样
print(random.sample(range(10),2))# 洗牌进行随机置换
alist = ['a','b','c','d','e','f','g','h','i','j']
random.shuffle(alist)
print(alist)
执行结果
时间模块
# 第一个datetime是模块名称、第二个datetime是类名,timedelta是微小的时间间隔
from datetime import datetime, timedelta# 今天
date = datetime.today()
print(date)
# 现在时间
now = datetime.now()
print(now)#将日期时间对象转化成指定字符串格式输出,f-->format格式化
nowStr = now.strftime('%Y-%m-%d %H:%M:%S')
print(nowStr, type(nowStr))# 字符串类型转化成时间日期,p-->pass解析出来时间对象,注意年月日需要匹配,不匹配解析会出问题
date_str = "2025-06-14 18:59:33"
datetime2 = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
print(datetime2, type(datetime2))
执行结果
练习:从现在起的100天之后是那一天
# 从现在起之后100天
future = datetime2 + timedelta(days=100)
print(future)