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

相关文章

  • pycharm下查看python的变量类型和变量内容的方法

    pycharm下查看python的变量类型和变量内容的方法

    今天小编就为大家分享一篇pycharm下查看python的变量类型和变量内容的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python 实现仿微信聊天时间格式化显示的代码

    python 实现仿微信聊天时间格式化显示的代码

    这篇文章主要介绍了python 实现仿微信聊天时间格式化显示,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-04-04
  • python正则表达式对字符串的查找匹配

    python正则表达式对字符串的查找匹配

    正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”),下面这篇文章主要给大家介绍了关于python正则表达式对字符串的查找匹配的相关资料,需要的朋友可以参考下
    2022-09-09
  • pycharm中使用request和Pytest进行接口测试的方法

    pycharm中使用request和Pytest进行接口测试的方法

    这篇文章主要介绍了pycharm中使用request和Pytest进行接口测试的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Python基于twisted实现简单的web服务器

    Python基于twisted实现简单的web服务器

    这篇文章主要介绍了Python基于twisted实现简单的web服务器,可模拟出简单的web服务器功能,是很实用的技巧,需要的朋友可以参考下
    2014-09-09
  • Python判断指定目录下是否存在指定文件的方法

    Python判断指定目录下是否存在指定文件的方法

    本文介绍了在Python中判断指定目录下是否存在指定文件的方法,从基本的os.path模块使用到更高级的pathlib和glob模块搜索,再到异常处理的应用,帮助读者逐步深入理解文件操作的相关知识,需要的朋友可以参考下
    2025-09-09
  • Python做图像处理及视频音频文件分离和合成功能

    Python做图像处理及视频音频文件分离和合成功能

    这篇文章主要介绍了Python做图像处理及视频音频文件分离和合成功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 使用Flask开发RESTful API的方法实现

    使用Flask开发RESTful API的方法实现

    RESTful API是一种基于REST架构风格设计的Web服务接口,本文主要介绍了使用Flask开发RESTful API的方法实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • python logging日志模块原理及操作解析

    python logging日志模块原理及操作解析

    这篇文章主要介绍了python logging日志模块原理及操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python调用短信猫控件实现发短信功能实例

    python调用短信猫控件实现发短信功能实例

    这篇文章主要介绍了python调用短信猫控件实现发短信功能实例,需要的朋友可以参考下
    2014-07-07

最新评论