Python中常用模块json,datetime,turtle的基本使用操作大全

 更新时间:2025年07月29日 09:57:32   作者:数据江湖  
Python json模块处理数据交换,datetime模块管理时间与日期,turtle模块实现图形绘制,三者分别适用于配置存储、时间计算和可视化教学,功能实用且学习成本低,本文介绍Python中常用模块json,datetime,turtle的基本使用操作大全,感兴趣的朋友一起看看吧

一、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=False
  • indent=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.方法

编号方法介绍
1mainloop( )窗体主循环
2left( )左转
3right( )右转
4forward( )前行
5backword( )向后
6width()画笔宽度
7color( )颜色(画笔以及填充
8begin_fill( )开始填充
9end_fill( )结束填充
10up( )抬起画笔
11down( )放下画笔
12goto(x, y )移动画笔起始点
13circle( ) 划圆

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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python运算符号详细介绍

    python运算符号详细介绍

    大家好,本篇文章主要讲的是python运算符号详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • python中dump与dumps实现序列化

    python中dump与dumps实现序列化

    这篇文章就来介绍python中dump与dumps实现序列化,文章将围绕dump与dumps实现序列化展开内容且简精,需要的朋友可以参考一下,希望对你有所帮助
    2021-10-10
  • python爬虫爬取淘宝商品信息(selenum+phontomjs)

    python爬虫爬取淘宝商品信息(selenum+phontomjs)

    这篇文章主要为大家详细介绍了python爬虫爬取淘宝商品信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • python利用os模块编写文件复制功能——copy()函数用法

    python利用os模块编写文件复制功能——copy()函数用法

    这篇文章主要介绍了python利用os模块编写文件复制功能——copy()函数用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • python命令行模式的用法及流程

    python命令行模式的用法及流程

    在本篇文章里小编给大家整理的是一篇关于python命令行模式的用法及流程相关内容,有兴趣的朋友们可以跟着学习下。
    2021-09-09
  • Tensorflow2.4使用Tuner选择模型最佳超参详解

    Tensorflow2.4使用Tuner选择模型最佳超参详解

    这篇文章主要介绍了Tensorflow2.4使用Tuner选择模型最佳超参详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • C++和python实现阿姆斯特朗数字查找实例代码

    C++和python实现阿姆斯特朗数字查找实例代码

    这篇文章主要给大家介绍了关于C++和python实现阿姆斯特朗数字查找的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 简述python&pytorch 随机种子的实现

    简述python&pytorch 随机种子的实现

    这篇文章主要介绍了简述python&pytorch 随机种子的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 使用Python开发Telegram Bot的流程步骤

    使用Python开发Telegram Bot的流程步骤

    Telegram Bot 是一种可以与用户交互的机器人应用程序,通过 Telegram 的 Bot API 与服务器通信,它可以用来处理消息、执行命令、提供服务,如通知提醒、数据查询和自动化任务等,本文给大家介绍了如何用 Python 开发一个 Telegram Bot,需要的朋友可以参考下
    2025-01-01
  • Python实现的爬取百度贴吧图片功能完整示例

    Python实现的爬取百度贴吧图片功能完整示例

    这篇文章主要介绍了Python实现的爬取百度贴吧图片功能,结合完整实例形式分析了Python实现的百度贴吧图片爬虫相关操作技巧,需要的朋友可以参考下
    2019-05-05

最新评论