Python中常用模塊json,datetime,turtle的基本使用操作大全
一、json
1.json基本介紹
JSON (JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,Python 通過 json 模塊提供了 JSON 數(shù)據(jù)的編碼和解碼功能。
特點(diǎn)如下:
- 易于人閱讀和編寫
- 易于機(jī)器解析和生成
- 基于文本,獨(dú)立于語言
- 支持嵌套數(shù)據(jù)結(jié)構(gòu)
2.json基本操作
2.1. 導(dǎo)入 json 模塊
import json
2.2. 將 Python 對象轉(zhuǎn)換為 JSON 字符串(序列化)
區(qū)分:dumps()與dump():
json.dumps( ) :返回字符串。
json.dump( ) : 寫入文件,無返回值。
data = {
"name": "張三",
"age": 30,
"is_student": False,
"courses": ["數(shù)學(xué)", "英語", "計(jì)算機(jī)"],
"address": None
}
json_str = json.dumps(data, ensure_ascii=False, indent=4)
print(json_str)參數(shù)解釋說明:
ensure_ascii: 允許非 ASCII 字符,常會設(shè)置成ensure_ascii=Falseindent=4: 美化輸出,縮進(jìn) 4 個空格
2.3. 將 JSON 字符串轉(zhuǎn)換為 Python 對象(反序列化)
區(qū)分load()與loads():
json.loads( ) : 返回字典或列表等其他對象。
json.load( ) :從文件中讀取,無需返回。
json_data = '''
{
"name": "李四",
"age": 25,
"is_student": true,
"courses": ["物理", "化學(xué)"],
"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只處理時(shí)間,datetime處理日期和時(shí)間。
1.date類(日期處理)
1.1 構(gòu)造日期
from datetime import date # 方法1:使用date構(gòu)造函數(shù) d1 = date(2023, 5, 15) # 年月日 # 方法2:獲取今天日期 today = date.today()
1.2 獲取日期屬性
from datetime import date
# 方法1:使用date構(gòu)造函數(shù)
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類(時(shí)間處理)
2.1 構(gòu)造時(shí)間
from datetime import time # 構(gòu)造時(shí)間 t1 = time(16,56,30) print(t1)
2.2 獲取時(shí)間屬性
from datetime import time
# 構(gòu)造時(shí)間
t1 = time(16,56,30)
print(t1)
#獲取屬性
print(t1.hour, t1.minute, t1.second)
#格式化時(shí)間
print(t1.strftime("%H時(shí)%M分%S秒"))3.datetime類(日期時(shí)間處理)
3.1 構(gòu)造日期時(shí)間
from datetime import datetime # 日期時(shí)間 d = datetime.now() print(d) # 構(gòu)造日期時(shí)間 d1 = datetime(2025, 7, 8, 15, 20, 12,30) print(d1)
3.2 獲取日期時(shí)間屬性
from datetime import datetime
# 日期時(shí)間
d = datetime.now()
print(d)
# 構(gòu)造日期時(shí)間
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)
# 格式化日期時(shí)間
print(d1.strftime("%d/%m/%Y, %H:%M:%S"))4.timedelta類(時(shí)間增量)
內(nèi)部屬性有days, hours, minutes,seconds, microseconds等等。
from datetime import datetime, timedelta # 時(shí)間增量 now = datetime.now() c = now + timedelta(seconds=60) #內(nèi)部屬性有days, hours, minutes,seconds, microseconds等等 print(c)
5.strftime方法
strftime()方法用于日期時(shí)間轉(zhuǎn)字符串。
| 格式 | 介紹 |
| %Y | 四位數(shù)年 |
| %y | 兩位數(shù)年 |
| %m | 月 |
| %d | 日 |
| %H | 小時(shí) |
| %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
# 時(shí)間格式化
print(now.strftime("%H:%M:%S")) # 14:05:30
print(now.strftime("%I:%M %p")) # 02:05 PM
# 組合日期時(shí)間
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類的靜態(tài)方法,用于將格式化的字符串轉(zhuǎn)換為datetime對象。
from datetime import datetime
# 解析標(biāo)準(zhǔn)格式
dt1 = datetime.strptime("2025-07-15", "%Y-%m-%d")
print(dt1) # 2023-07-15 00:00:00
# 解析帶時(shí)間的字符串
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小時(shí)制時(shí)間
dt4 = datetime.strptime("02:30 PM", "%I:%M %p")
# 注意:這樣得到的是1900-01-01加上指定時(shí)間
# 通常需要結(jié)合日期使用
# 解析中文日期
dt5 = datetime.strptime("2025年07月15日", "%Y年%m月%d日")
print(dt5) # 2023-07-15 00:00:00三、turtle
1.方法
| 編號 | 方法 | 介紹 |
| 1 | mainloop( ) | 窗體主循環(huán) |
| 2 | left( ) | 左轉(zhuǎn) |
| 3 | right( ) | 右轉(zhuǎn) |
| 4 | forward( ) | 前行 |
| 5 | backword( ) | 向后 |
| 6 | width() | 畫筆寬度 |
| 7 | color( ) | 顏色(畫筆以及填充 |
| 8 | begin_fill( ) | 開始填充 |
| 9 | end_fill( ) | 結(jié)束填充 |
| 10 | up( ) | 抬起畫筆 |
| 11 | down( ) | 放下畫筆 |
| 12 | goto(x, y ) | 移動畫筆起始點(diǎn) |
| 13 | circle( ) | 劃圓 |
2.案例
import turtle
import random
turtle.reset()
# 設(shè)置畫筆寬細(xì)
turtle.width(3)
# 設(shè)置畫筆顏色、填充色
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)
# 導(dǎo)入主循環(huán),不結(jié)束繪圖程序
turtle.mainloop()總結(jié)
json模塊提供JSON數(shù)據(jù)的序列化與反序列化功能。dumps將Python對象轉(zhuǎn)為JSON字符串,dump寫入文件;loads解析JSON字符串為Python對象,load從文件讀取。處理中文需ensure_ascii=False,格式化可用indent參數(shù)。datetime模塊處理日期時(shí)間,包含date(日期)、time(時(shí)間)、datetime(日期時(shí)間)和timedelta(時(shí)間間隔)類。strftime格式化輸出,strptime解析字符串。支持日期計(jì)算(如now()+timedelta(days=1))和屬性訪問(year/month/day等)。turtle模塊實(shí)現(xiàn)海龜繪圖,通過控制畫筆移動繪制圖形。常用penup/pendown控制繪制,forward/back控制移動,left/right控制轉(zhuǎn)向。支持顏色填充(begin_fill/end_fill)、速度調(diào)節(jié)(speed)和形狀設(shè)置(shape)。適合可視化編程教學(xué)和簡單圖形繪制。這三個模塊分別覆蓋數(shù)據(jù)交換、時(shí)間處理和圖形繪制三大場景,是Python標(biāo)準(zhǔn)庫中實(shí)用性強(qiáng)、學(xué)習(xí)成本低的典型代表。json適合配置存儲和網(wǎng)絡(luò)傳輸,datetime用于時(shí)間計(jì)算和格式化,turtle則用于基礎(chǔ)圖形編程教學(xué)。掌握它們能高效處理日常開發(fā)中的常見需求。
到此這篇關(guān)于Python中常用模塊json,datetime,turtle的基本使用操作大全的文章就介紹到這了,更多相關(guān)python模塊json,datetime,turtle內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pycharm下查看python的變量類型和變量內(nèi)容的方法
今天小編就為大家分享一篇pycharm下查看python的變量類型和變量內(nèi)容的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示的代碼
這篇文章主要介紹了python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-04-04
pycharm中使用request和Pytest進(jìn)行接口測試的方法
這篇文章主要介紹了pycharm中使用request和Pytest進(jìn)行接口測試的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Python基于twisted實(shí)現(xiàn)簡單的web服務(wù)器
這篇文章主要介紹了Python基于twisted實(shí)現(xiàn)簡單的web服務(wù)器,可模擬出簡單的web服務(wù)器功能,是很實(shí)用的技巧,需要的朋友可以參考下2014-09-09
使用Flask開發(fā)RESTful?API的方法實(shí)現(xiàn)
RESTful?API是一種基于REST架構(gòu)風(fēng)格設(shè)計(jì)的Web服務(wù)接口,本文主要介紹了使用Flask開發(fā)RESTful?API的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
python調(diào)用短信貓控件實(shí)現(xiàn)發(fā)短信功能實(shí)例
這篇文章主要介紹了python調(diào)用短信貓控件實(shí)現(xiàn)發(fā)短信功能實(shí)例,需要的朋友可以參考下2014-07-07

