数学模块
import math
print(math.pi) # PI值 3.141592653589793
print(math.inf) # 正无穷 inf
print(math.floor(2.999)) # 向下取整 2
print(math.ceil(2.000001)) # 向上取整 3
print(math.sqrt(10)) # 平方根 3.1622776601683795
print(math.pow(2, 3)) # x的y次方 8.0
print(math.fsum([1, 2, 3])) # 求和 6.0
print(math.isqrt(10)) # 平方根向下取整 3
turtle模块
import turtle
# 1.设置画布,宽800 高800 背景颜色蓝色
turtle.screensize(800, 800, 'blue')
# 2.画笔相关
turtle.pencolor('red') # 画笔颜色
turtle.pensize(2) # 画笔宽度
turtle.speed(3) # 画笔速度
turtle.penup() # 提笔
turtle.goto(-400, 300) # 相对于画布中心
turtle.pendown() # 落笔
turtle.fillcolor('white') # 绘制图形填充颜色
# 3.启动循环事件,必须在最后一句
turtle.mainloop()
下面画的图形代码都要放在第二步下面才能正常运行。
三角形
turtle.begin_fill()
turtle.forward(200)
turtle.right(120)
turtle.forward(200)
turtle.right(120)
turtle.forward(200)
turtle.end_fill()
圆形
turtle.penup()
turtle.goto(0, 200) # 相对于画布中心
turtle.pendown()
turtle.fillcolor('green')
turtle.begin_fill()
turtle.circle(100)
turtle.end_fill()
五角星
turtle.penup()
turtle.goto(50, -100) # 相对于画布中心
turtle.pendown()
turtle.fillcolor('green')
turtle.begin_fill()
turtle.right(120)
turtle.forward(300)
turtle.right(144)
turtle.forward(300)
turtle.right(144)
turtle.forward(300)
turtle.right(144)
turtle.forward(300)
turtle.right(144)
turtle.forward(300)
turtle.end_fill()
time模块
import time
# time.sleep(2) # 休眠2秒
# 1.获取当前不同形式的时间
print(time.time()) # 1970 - 1 - 1 00:00:00 到现在的秒数
print(time.localtime()) # 本地时间元组
print(time.localtime().tm_mday) # 获取日
print(time.localtime().tm_year) # 获取年
print(time.gmtime()) # 格林尼治时间,0时区的时间
print(time.ctime()) # 字符串表现形式 Thu Nov 7 11:40:25 2024
# 2.时间相加计算
m = time.time() + 24 * 60 * 60 * 100 # 加一年
print(time.ctime(m)) # 秒 转为 日期时间
# 3,手动设置具体时间
# mktime((年,月,日,时,分,秒,一周第几天,一月第几天,0))
mk = time.mktime((2024, 1, 1, 13, 16, 18, 5, 18, 0))
print(mk) # 1730959855.0
print(time.localtime(mk))
time格式化
# 时间元组---》字符串
# time.strftime('格式',时间元组)
# 格式化当前时间
s = time.strftime('%Y年%m月%d日%H时%M分%S秒')
print(s)
s = time.strftime('%Y年%m月%d日%H时%M分%S秒', time.localtime(mk))
print(s) # 2024年11月07日14时10分55秒
# 字符串---》时间元组
t = time.strptime(s, '%Y年%m月%d日%H时%M分%S秒')
print(t)
datetime模块
首先导入datetime包:from datetime import datetime
获取当前时间
print(datetime.today()) # 2024-11-07 15:27:30.369270
print(datetime.now()) # 2024-11-07 15:27:30.369269
print(datetime.now().year) # 2024
print(datetime.now().month) # 11
print(datetime.now().day) # 7
print(datetime.now().weekday()) # 3
print(datetime.now().hour) # 15
手动设置时间
dt = datetime(2023, 11, 20)
print(dt) # 2023-11-20 00:00:00
dt = datetime(2024, 11, 8, 12, 33, 44)
print(dt) # 2024-11-08 12:33:44
格式化
# 日期-》转为字符串
s = dt.strftime('%Y年%m月%d日 %H时%M分%S秒')
print(s) # 2024年11月08日 12时33分44秒
# 字符串--》转为日期
d = datetime.strptime('2024-10-29 10:29:29', '%Y-%m-%d %H:%M:%S')
print(d) # 2024-10-29 10:29:29
print(d.day) # 29
计算时间差
首先导入datetime包和timedelta包:
from datetime import datetime,timedelta
# 1.字符串不能直接相减,先将字符串转换为日期类型
d1 = datetime.strptime('2023-6-20 8:20:15', '%Y-%m-%d %H:%M:%S')
d2 = datetime.strptime('2024-3-5 9:30:15', '%Y-%m-%d %H:%M:%S')
print(d2 - d1) # 259 days, 1:10:00
print((d2 - d1).days) # 相差天数 259
print((d2 - d1).seconds) # 4200 (time的差值)
# 3.当前日期加上100天后的日期
# timedelta 时间增量
d = datetime.now() + timedelta(days=100)
print(d) # 2025-02-15 15:38:14.659818
json模块
作用:
前后端数据交换格式
向文件读写,只能以字符串或字节流的方式
序列化:
将python数据结构转换为字符串
json.dumps(数据结构, ensure_ascii=False)
json.dump(数据结构,f, ensure_ascii=False) 直接序列化到文件
反序列化:
将字符串转换为python数据结构
json.loads(json串)
json.load(f) 取出数据并转换为python数据结构
import json
dic = {
'name': '张三',
'hobbys': ['编程', '学习'],
'a': None,
'b': {'age': 20},
'(1,)': 20
}
# 序列化
"""
ensure_ascii=False:按照汉字原始方式输出
ensure_ascii=True:按照汉字unicode值输出
"""
s = json.dumps(dic, ensure_ascii=False)
print(s)
# 反序列化
dic = json.loads(s)
print(dic)
print(dic['name']) # 张三
print(dic['hobbys'][0]) # 编程