目录
1、json.dumps(obj):将Python对象转换为JSON格式字符串
2、json.dump(obj, file):将Python对象转换为JSON并写入文件
3、json.loads(json_str):将JSON字符串转换为Python对象
4、json.load(file):从文件读取JSON数据并转换为Python对象
文章目录
一、random模块
random模块用于生成随机数。
常用方法:
1、random()
import random
print(random.random())
# 得到一个随机小数[0,1)
2、randint()
b = random.randint(10,20)
print(b) # 得到一个随机整数[10,20]
3、random.choice()
print(random.choice(["哈哈哈","嘿嘿嘿","呜呜呜"])) # choice 随机选取列表内的一个元素
4、random.choices()
print(random.choices(["哈哈哈","嘿嘿嘿","呜呜呜"],k=10))
# choices 比较choice可以多次重复选,k的值默认等于1,可以自行指定次数。
5、random.sampe()
print(random.sample(["哈哈哈","嘿嘿嘿","呜呜呜"],k=2))
# sample 从里面随机选出k个默认是1,k的值必需要小于列表的长度
6、random.seed()
random.seed(1) # seed 确定随机种子,确定random的值,后面不在改变
print(random.randint(1,10))
7、random.shuffle()
洗牌函数,随机列表打乱顺序
cards = list(range(1, 11))
random.shuffle(cards)
print(cards) # 输出: [10, 3, 2, 7, 4, 8, 9, 6, 5, 1] (随机打印的,每次或许都不一样)
8、random.unifrom()
# 生成指定范围内的随机浮点数
print(random.uniform(1.5, 2.5)) # 输出: 1.5-2.5之间的随机浮点数
9、random.randrange()
用于生成指定范围内的随机整数。它比 random.randint()
更灵活,可以指定步长(间隔)。
import random
print(random.randrange(10)) # 输出:0-9之间的随机整数
print(random.randrange(5, 10)) # 输出:5-9之间的随机整数
print(random.randrange(0, 10, 2)) # 输出:0, 2, 4, 6, 8中的一个
二、datetime模块
datetime
是 Python 处理日期和时间的标准库模块,提供了日期、时间、日期时间、时间差等多种类。
基本使用
1、获取当前日期和时间
from datetime import datetime
now = datetime.now() # 获取当前本地日期时间
print(now) # 输出: 2025-07-14 16:10:07.123456
2、创建特定日期时间
from datetime import datetime, date, time
# 创建datetime对象
dt = datetime(2023, 5, 15, 14, 30, 0)
print(dt) # 2023-05-15 14:30:00
# 创建date对象
d = date(2023, 5, 15)
print(d) # 2023-05-15
# 创建time对象
t = time(14, 30, 0)
print(t) # 14:30:00
常用方法
日期时间格式化
from datetime import datetime
now = datetime.now()
# 转换为字符串
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted) # 2025-07-14 16:10:07
# 从字符串解析
dt = datetime.strptime("2023-05-15 14:30", "%Y-%m-%d %H:%M")
print(dt) # 2023-05-15 14:30:00
# 其他格式化字符串
formatted = now.strftime("%Y年/%m月/%d日 %H:%M:%S")
print(formatted) # 2025年/07月/14日 16:10:07
时间计算
from datetime import datetime, timedelta
now = datetime.now()
# 加1天
tomorrow = now + timedelta(days=1)
print(tomorrow)
# 减2小时
two_hours_ago = now - timedelta(hours=2)
print(two_hours_ago)
# 计算时间差
diff = tomorrow - two_hours_ago
print(diff) # 1 day, 2:00:00
print(diff.total_seconds()) # 93600.0
获取日期时间各部分
dt = datetime(2023, 5, 15, 14, 30, 45)
print(dt.year) # 2023
print(dt.month) # 5
print(dt.day) # 15
print(dt.hour) # 14
print(dt.minute) # 30
print(dt.second) # 45
三、json模块
json模块用于处理JSON数据格式,实现Python对象与JSON字符串之间的转换。
核心功能
-
序列化:将Python对象转换为JSON字符串
-
反序列化:将JSON字符串转换为Python对象
1、json.dumps(obj)
:将Python对象转换为JSON格式字符串
data = {"name": "XiaoMing", "age": 21}
json_str = json.dumps(data)
print(json_str,type(json_str)) # 输出: {"name": "XiaoMing", "age": 21} <class 'str'>
2、json.dump(obj, file)
:将Python对象转换为JSON并写入文件
import json
d0 =[
{"id":101,
"name":"abc1"},
{"id":102,
"name":"abc2"},
{"id":103,
"name":"abc3"}
]
d0_str = json.dumps(d0)
print(d0_str)
with open("json.txt","w")as f:
json.dump(d0_str,f)
# 同级目录下会生成一个json.txt的文本文件
3、json.loads(json_str):将JSON字符串转换为Python对象
python_data = json.loads('{"name": "XiaoMing", "age": 21}')
print(python_data) # 输出: {'name': 'XiaoMing', 'age': 21}
4、json.load(file):从文件读取JSON数据并转换为Python对象
with open('json.txt', 'r') as f:
data = json.load(f)
总结
Python中json模块用于数据序列化,实现Python对象与JSON格式的相互转换;datetime模块提供日期时间处理功能,支持日期计算和格式化;random模块用于生成随机数和随机操作,支持多种分布类型。这三个标准库模块分别解决了数据交换、时间处理和随机生成三大常见需求,是Python开发中最基础且实用的工具模块。