Python中常用模塊json,datetime,turtle的基本使用操作大全
一、json
1.json基本介紹
JSON (JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,Python 通過 json 模塊提供了 JSON 數(shù)據(jù)的編碼和解碼功能。
特點如下:
- 易于人閱讀和編寫
- 易于機器解析和生成
- 基于文本,獨立于語言
- 支持嵌套數(shù)據(jù)結(jié)構(gòu)
2.json基本操作
2.1. 導入 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ù)學", "英語", "計算機"],
"address": None
}
json_str = json.dumps(data, ensure_ascii=False, indent=4)
print(json_str)參數(shù)解釋說明:
ensure_ascii: 允許非 ASCII 字符,常會設置成ensure_ascii=Falseindent=4: 美化輸出,縮進 4 個空格
2.3. 將 JSON 字符串轉(zhuǎn)換為 Python 對象(反序列化)
區(qū)分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 構(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類(時間處理)
2.1 構(gòu)造時間
from datetime import time # 構(gòu)造時間 t1 = time(16,56,30) print(t1)
2.2 獲取時間屬性
from datetime import time
# 構(gòu)造時間
t1 = time(16,56,30)
print(t1)
#獲取屬性
print(t1.hour, t1.minute, t1.second)
#格式化時間
print(t1.strftime("%H時%M分%S秒"))3.datetime類(日期時間處理)
3.1 構(gòu)造日期時間
from datetime import datetime # 日期時間 d = datetime.now() print(d) # 構(gòu)造日期時間 d1 = datetime(2025, 7, 8, 15, 20, 12,30) print(d1)
3.2 獲取日期時間屬性
from datetime import datetime
# 日期時間
d = datetime.now()
print(d)
# 構(gòu)造日期時間
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類(時間增量)
內(nèi)部屬性有days, hours, minutes,seconds, microseconds等等。
from datetime import datetime, timedelta # 時間增量 now = datetime.now() c = now + timedelta(seconds=60) #內(nèi)部屬性有days, hours, minutes,seconds, microseconds等等 print(c)
5.strftime方法
strftime()方法用于日期時間轉(zhuǎn)字符串。
| 格式 | 介紹 |
| %Y | 四位數(shù)年 |
| %y | 兩位數(shù)年 |
| %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類的靜態(tài)方法,用于將格式化的字符串轉(zhuǎn)換為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加上指定時間
# 通常需要結(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 ) | 移動畫筆起始點 |
| 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)
# 導入主循環(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模塊處理日期時間,包含date(日期)、time(時間)、datetime(日期時間)和timedelta(時間間隔)類。strftime格式化輸出,strptime解析字符串。支持日期計算(如now()+timedelta(days=1))和屬性訪問(year/month/day等)。turtle模塊實現(xiàn)海龜繪圖,通過控制畫筆移動繪制圖形。常用penup/pendown控制繪制,forward/back控制移動,left/right控制轉(zhuǎn)向。支持顏色填充(begin_fill/end_fill)、速度調(diào)節(jié)(speed)和形狀設置(shape)。適合可視化編程教學和簡單圖形繪制。這三個模塊分別覆蓋數(shù)據(jù)交換、時間處理和圖形繪制三大場景,是Python標準庫中實用性強、學習成本低的典型代表。json適合配置存儲和網(wǎng)絡傳輸,datetime用于時間計算和格式化,turtle則用于基礎(chǔ)圖形編程教學。掌握它們能高效處理日常開發(fā)中的常見需求。
到此這篇關(guān)于Python中常用模塊json,datetime,turtle的基本使用操作大全的文章就介紹到這了,更多相關(guān)python模塊json,datetime,turtle內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python爬蟲爬取淘寶商品信息(selenum+phontomjs)
這篇文章主要為大家詳細介紹了python爬蟲爬取淘寶商品信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02
python利用os模塊編寫文件復制功能——copy()函數(shù)用法
這篇文章主要介紹了python利用os模塊編寫文件復制功能——copy()函數(shù)用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Tensorflow2.4使用Tuner選擇模型最佳超參詳解
這篇文章主要介紹了Tensorflow2.4使用Tuner選擇模型最佳超參詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
C++和python實現(xiàn)阿姆斯特朗數(shù)字查找實例代碼
這篇文章主要給大家介紹了關(guān)于C++和python實現(xiàn)阿姆斯特朗數(shù)字查找的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
簡述python&pytorch 隨機種子的實現(xiàn)
這篇文章主要介紹了簡述python&pytorch 隨機種子的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10
使用Python開發(fā)Telegram?Bot的流程步驟
Telegram?Bot?是一種可以與用戶交互的機器人應用程序,通過?Telegram?的?Bot?API?與服務器通信,它可以用來處理消息、執(zhí)行命令、提供服務,如通知提醒、數(shù)據(jù)查詢和自動化任務等,本文給大家介紹了如何用?Python?開發(fā)一個?Telegram?Bot,需要的朋友可以參考下2025-01-01

