Bootstrap

python常用模块,纯小白也能看得懂!

数学模块

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])  # 编程
;