一、json
1.json基本介绍
json (javascript object notation) 是一种轻量级的数据交换格式,python 通过 json 模块提供了 json 数据的编码和解码功能。
特点如下:
- 易于人阅读和编写
- 易于机器解析和生成
- 基于文本,独立于语言
- 支持嵌套数据结构
2.json基本操作
2.1. 导入 json 模块
import json
2.2. 将 python 对象转换为 json 字符串(序列化)
区分:dumps()与dump():
json.dumps( ) :返回字符串。
json.dump( ) : 写入文件,无返回值。
data = {
"name": "张三",
"age": 30,
"is_student": false,
"courses": ["数学", "英语", "计算机"],
"address": none
}
json_str = json.dumps(data, ensure_ascii=false, indent=4)
print(json_str)参数解释说明:
ensure_ascii: 允许非 ascii 字符,常会设置成ensure_ascii=falseindent=4: 美化输出,缩进 4 个空格
2.3. 将 json 字符串转换为 python 对象(反序列化)
区分load()与loads():
json.loads( ) : 返回字典或列表等其他对象。
json.load( ) :从文件中读取,无需返回。
json_data = '''
{
"name": "李四",
"age": 25,
"is_student": true,
"courses": ["物理", "化学"],
"address": null
}
'''
python_obj = json.loads(json_data)
print(python_obj["name"]) # 输出: 李四3.案例探究
3.1. 写入 json 文件
data = {
"name": "王五",
"age": 28,
"hobbies": ["阅读", "游泳"]
}
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=false, indent=4)3.2. 读取 json 文件
with open('data.json', 'r', encoding='utf-8') as f:
loaded_data = json.load(f)
print(loaded_data["hobbies"]) # 输出: ['阅读', '游泳']二、datetime
date只处理日期,time只处理时间,datetime处理日期和时间。
1.date类(日期处理)
1.1 构造日期
from datetime import date # 方法1:使用date构造函数 d1 = date(2023, 5, 15) # 年月日 # 方法2:获取今天日期 today = date.today()
1.2 获取日期属性
from datetime import date
# 方法1:使用date构造函数
d1 = date(2025, 7, 13) # 年月日
# 方法2:获取今天日期
today = date.today()
print(f"今天是:{today}")
print(d1.year) # 2025
print(d1.month) # 7
print(d1.day) # 13
# 获取星期几(周一为0,周日为6)
print(d1.weekday())
# 获取星期几(周一为1,周日为7)
print(d1.isoweekday())
# 获取日期字符串:23年05月15日 2023/05/15
print(d1.strftime("%y年%m月%d日"), d1.strftime("%y/%m/%d"))2.time类(时间处理)
2.1 构造时间
from datetime import time # 构造时间 t1 = time(16,56,30) print(t1)
2.2 获取时间属性
from datetime import time
# 构造时间
t1 = time(16,56,30)
print(t1)
#获取属性
print(t1.hour, t1.minute, t1.second)
#格式化时间
print(t1.strftime("%h时%m分%s秒"))3.datetime类(日期时间处理)
3.1 构造日期时间
from datetime import datetime # 日期时间 d = datetime.now() print(d) # 构造日期时间 d1 = datetime(2025, 7, 8, 15, 20, 12,30) print(d1)
3.2 获取日期时间属性
from datetime import datetime
# 日期时间
d = datetime.now()
print(d)
# 构造日期时间
d1 = datetime(2025, 7, 8, 15, 20, 12,30)
print(d1)
#获取属性
print(d1.year, d1.month, d1.day, d1.hour, d1.minute, d1.second,d1.microsecond)
# 格式化日期时间
print(d1.strftime("%d/%m/%y, %h:%m:%s"))4.timedelta类(时间增量)
内部属性有days, hours, minutes,seconds, microseconds等等。
from datetime import datetime, timedelta # 时间增量 now = datetime.now() c = now + timedelta(seconds=60) #内部属性有days, hours, minutes,seconds, microseconds等等 print(c)
5.strftime方法
strftime()方法用于日期时间转字符串。
| 格式 | 介绍 |
| %y | 四位数年 |
| %y | 两位数年 |
| %m | 月 |
| %d | 日 |
| %h | 小时 |
| %m | 分钟 |
| %s | 秒 |
from datetime import datetime
now = datetime.now()
# 基本格式化
print(now.strftime("%y-%m-%d")) # 2025-07-14
print(now.strftime("%d/%m/%y")) # 14/07/2025
print(now.strftime("%a, %b %d, %y")) # monday, july 14, 2025
# 时间格式化
print(now.strftime("%h:%m:%s")) # 14:05:30
print(now.strftime("%i:%m %p")) # 02:05 pm
# 组合日期时间
print(now.strftime("%y-%m-%d %h:%m:%s")) # 2025-07-14 14:05:30
# 自定义格式
print(now.strftime("今天是%y年%m月%d日")) # 今天是2025年07月14日6.strptime方法
strptime()是datetime类的静态方法,用于将格式化的字符串转换为datetime对象。
from datetime import datetime
# 解析标准格式
dt1 = datetime.strptime("2025-07-15", "%y-%m-%d")
print(dt1) # 2023-07-15 00:00:00
# 解析带时间的字符串
dt2 = datetime.strptime("15/07/2025 14:30", "%d/%m/%y %h:%m")
print(dt2) # 2023-07-15 14:30:00
# 解析含星期和月份的字符串
dt3 = datetime.strptime("monday, july 14, 2025", "%a, %b %d, %y")
print(dt3) # 2025-07-14 00:00:00
# 解析12小时制时间
dt4 = datetime.strptime("02:30 pm", "%i:%m %p")
# 注意:这样得到的是1900-01-01加上指定时间
# 通常需要结合日期使用
# 解析中文日期
dt5 = datetime.strptime("2025年07月15日", "%y年%m月%d日")
print(dt5) # 2023-07-15 00:00:00三、turtle
1.方法
| 编号 | 方法 | 介绍 |
| 1 | mainloop( ) | 窗体主循环 |
| 2 | left( ) | 左转 |
| 3 | right( ) | 右转 |
| 4 | forward( ) | 前行 |
| 5 | backword( ) | 向后 |
| 6 | width() | 画笔宽度 |
| 7 | color( ) | 颜色(画笔以及填充 |
| 8 | begin_fill( ) | 开始填充 |
| 9 | end_fill( ) | 结束填充 |
| 10 | up( ) | 抬起画笔 |
| 11 | down( ) | 放下画笔 |
| 12 | goto(x, y ) | 移动画笔起始点 |
| 13 | circle( ) | 划圆 |
2.案例
import turtle
import random
turtle.reset()
# 设置画笔宽细
turtle.width(3)
# 设置画笔颜色、填充色
turtle.color("blue", "black")
turtle.up()
turtle.goto(0, -300)
turtle.down()
turtle.circle(300)
turtle.setheading(90)
turtle.up()
turtle.goto(0, 0)
turtle.down()
for i in range(24):
turtle.color(random.choices(["blue", "black", "pink", "yellow", "skyblue"]))
turtle.circle(150)
turtle.left(15)
# 导入主循环,不结束绘图程序
turtle.mainloop()总结
json模块提供json数据的序列化与反序列化功能。dumps将python对象转为json字符串,dump写入文件;loads解析json字符串为python对象,load从文件读取。处理中文需ensure_ascii=false,格式化可用indent参数。datetime模块处理日期时间,包含date(日期)、time(时间)、datetime(日期时间)和timedelta(时间间隔)类。strftime格式化输出,strptime解析字符串。支持日期计算(如now()+timedelta(days=1))和属性访问(year/month/day等)。turtle模块实现海龟绘图,通过控制画笔移动绘制图形。常用penup/pendown控制绘制,forward/back控制移动,left/right控制转向。支持颜色填充(begin_fill/end_fill)、速度调节(speed)和形状设置(shape)。适合可视化编程教学和简单图形绘制。这三个模块分别覆盖数据交换、时间处理和图形绘制三大场景,是python标准库中实用性强、学习成本低的典型代表。json适合配置存储和网络传输,datetime用于时间计算和格式化,turtle则用于基础图形编程教学。掌握它们能高效处理日常开发中的常见需求。
到此这篇关于python中常用模块json,datetime,turtle的基本使用操作大全的文章就介绍到这了,更多相关python模块json,datetime,turtle内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论