🏷️ 系列 :Scratch 转 Python 编程启蒙系列
📅 天数 :Day 9
🎯 主题 :字典 dict 双向对照 + AI大模型参数配置实战
👶 适合人群:零基础青少年(建议已学完 Day 1-7)
摘要
本篇是 Scratch 转 Python 系列第 9 天,核心学习 字典(dict) 这一强大数据结构。字典用"键值对"存数据,就像通讯录用"名字"查"电话号码"一样自然。我们会从字典的创建、增删改查、遍历到嵌套字典,逐步对照 Scratch 积木逻辑讲解,并在综合实战中用字典管理 AI 大模型的参数配置表和学生成绩系统。学完本篇,你就能用字典优雅地管理"有标签的数据"了!
1. 本节课学习目标
完成本篇学习后,你将能够:
- ✅ 理解字典的概念,掌握字典的创建、查询、新增、修改、删除五大操作
- ✅ 掌握字典的遍历方法 (
keys/values/items)和嵌套字典的使用 - ✅ 理解字典与列表的核心区别,知道什么场景该用字典、什么场景该用列表
- 🤖 AI 应用场景 :用字典管理 AI 大模型的参数配置表(
temperature、max_tokens、model等),实现参数的集中管理与动态调整
2. 专业名词通俗释义
📖 字典(Dictionary / dict)
生活类比 :字典就像你手机里的通讯录 📱
| 通讯录 | Python 字典 |
|---|---|
| 联系人名字 | 键 |
| 电话号码 | 值 |
| 一个名字对应一个号码 | 一个键对应一个值 |
在 Scratch 里,我们用列表 存数据,靠序号 (第1项、第2项)来取值------就像靠"第几个抽屉"找东西。但生活中我们更习惯用名字找东西:"帮我找张三的电话",而不是"帮我找第3个电话"。
字典就是让你用**名字(键)**来存取数据的结构!
🔑 键值对(Key-Value Pair)
生活类比 :键值对就像存包柜的取物牌 🏷️
存包时,你拿到一个号码牌(键),柜子里放你的东西(值)。用号码牌就能找到对应柜子里的东西。
python
# "name" 是键,"小明" 是值,合在一起就是一个键值对
student = {"name": "小明", "age": 12}
🗂️ 哈希表(Hash Table)
生活类比 :哈希表就像图书馆的书架编号系统 📚
图书馆不会从第1本书一本本翻找,而是通过编号系统直接定位到书架。字典底层用的就是哈希表------你给一个键,它通过"哈希函数"算出这个键存在哪里,瞬间找到,不用从头到尾搜索。
所以字典查询速度超级快!哪怕字典里有 100 万个键值对,查找也是一瞬间的事。这就是字典比列表"按名字查找"更强大的原因。
📋 字典 vs 列表 一图看懂
| 特点 | 列表 | 字典 |
|---|---|---|
| 怎么取值 | 靠序号(0, 1, 2...) | 靠键(名字) |
| 生活类比 | 排队------第1个、第2个 | 通讯录------按名字查 |
| 数据有标签吗 | ❌ 没有 | ✅ 有(键就是标签) |
| 顺序重要吗 | ✅ 重要 | ❌ 不重要(Python 3.7+保持插入顺序,但逻辑上不依赖顺序) |
| 适合存什么 | 同类数据排队 | 有标签的成对数据 |
💡 回忆 Day 6 :我们学了列表
["苹果", "香蕉", "橘子"],靠序号取值fruits[0]。今天学的字典,是靠"键"取值fruit["颜色"],更适合管理"有属性标签"的数据!
3. 分模块双向对照知识点
模块1:创建字典
🧩 Scratch 思路
Scratch 没有原生的"字典"积木 ,但我们可以用两个列表来模拟:
- 列表1
config_keys:存所有的键(如 "model"、"temperature") - 列表2
config_values:存对应的值(如 "gpt-4"、0.7)
两个列表同一序号 的项就是一对键值对。比如 config_keys 的第1项是 "model",config_values 的第1项是 "gpt-4",它们就是一对。

🐍 Python 代码
python
# 【Scratch积木】建立列表 [config_keys] = ["model", "temperature", "max_tokens"]
# 【Scratch积木】建立列表 [config_values] = ["gpt-4", 0.7, 1000]
# Scratch需要两个列表配合才能模拟键值对,Python用一个字典搞定!
# 创建字典:用花括号 {},键和值之间用冒号 :,键值对之间用逗号 ,
config = {"model": "gpt-4", "temperature": 0.7, "max_tokens": 1000}
# 也可以先创建空字典,再慢慢添加
config_empty = {}
# 还可以用 dict() 函数创建
config_alt = dict(model="gpt-4", temperature=0.7, max_tokens=1000)
print("AI配置:", config)
print("空字典:", config_empty)
print("用dict()创建:", config_alt)
▶️ 运行结果
AI配置: {'model': 'gpt-4', 'temperature': 0.7, 'max_tokens': 1000}
空字典: {}
用dict()创建: {'model': 'gpt-4', 'temperature': 0.7, 'max_tokens': 1000}
⚠️ 核心易错说明
- 字典用花括号
{},列表用方括号[],别搞混! - 键必须是不可变类型(字符串、数字、元组),值可以是任何类型
- 键是唯一的,重复的键后面的会覆盖前面的
模块2:查询字典
🧩 Scratch 思路
在 Scratch 中要查 "model" 对应的值,需要:
- 在
config_keys列表中找到 "model" 的序号 - 用这个序号去
config_values列表中取对应项
非常麻烦!需要两步操作。

🐍 Python 代码
python
# 【Scratch积木】将 [查找结果] 设为 (config_values) 的第 (config_keys中"model"的序号) 项
# Scratch需要先找到键的序号,再用序号取值,两步操作
# Python直接用键取值,一步到位!
config = {"model": "gpt-4", "temperature": 0.7, "max_tokens": 1000}
# 方式1:用中括号 [键] 取值(最常用)
model_name = config["model"]
print("模型名称:", model_name)
# 方式2:用 .get() 方法取值(更安全,键不存在时不会报错)
temp = config.get("temperature")
print("温度参数:", temp)
# .get() 的妙用:键不存在时返回默认值,不会报错!
top_p = config.get("top_p", "未设置")
print("top_p参数:", top_p)
# 对比:列表靠序号取值(Day 6学的)
fruits = ["苹果", "香蕉", "橘子"]
print("列表第1个:", fruits[0]) # 靠序号
print("字典查model:", config["model"]) # 靠键
▶️ 运行结果
模型名称: gpt-4
温度参数: 0.7
top_p参数: 未设置
列表第1个: 苹果
字典查model: gpt-4
⚠️ 核心易错说明
-
用
config["键"]查询时,如果键不存在会报错(KeyError) -
用
config.get("键", 默认值)查询时,键不存在返回默认值,不会报错,更安全 -
💡 回忆 Day 2 :我们可以用
if "键" in config:来判断键是否存在,再决定是否查询
python
# 【Scratch积木】如果 <config_keys 包含 "top_p" ?> 那么
# 回忆Day 2的分支判断,先检查再查询更安全
if "top_p" in config:
print("top_p的值是:", config["top_p"])
else:
print("配置中没有top_p参数")
模块3:新增 / 修改键值对
🧩 Scratch 思路
新增键值对:在 config_keys 列表末尾添加新键,在 config_values 列表末尾添加新值。
修改值:找到键的序号,修改 config_values 对应项。

🐍 Python 代码
python
# 【Scratch积木】将 "top_p" 添加到 [config_keys]
# 【Scratch积木】将 0.9 添加到 [config_values]
# Scratch需要同时操作两个列表
# Python一行代码搞定:直接给新键赋值
config = {"model": "gpt-4", "temperature": 0.7, "max_tokens": 1000}
# ------ 新增键值对 ------
config["top_p"] = 0.9 # 键不存在,自动新增
print("新增top_p后:", config)
# ------ 修改已有键的值 ------
# 【Scratch积木】将 (config_values) 的第 (config_keys中"temperature"的序号) 项 设为 [0.5]
# Python直接重新赋值
config["temperature"] = 0.5 # 键已存在,自动覆盖旧值
print("修改temperature后:", config)
# ------ 批量新增/修改:update() 方法 ------
config.update({"frequency_penalty": 0.0, "presence_penalty": 0.6})
print("批量更新后:", config)
▶️ 运行结果
新增top_p后: {'model': 'gpt-4', 'temperature': 0.7, 'max_tokens': 1000, 'top_p': 0.9}
修改temperature后: {'model': 'gpt-4', 'temperature': 0.5, 'max_tokens': 1000, 'top_p': 0.9}
批量更新后: {'model': 'gpt-4', 'temperature': 0.5, 'max_tokens': 1000, 'top_p': 0.9, 'frequency_penalty': 0.0, 'presence_penalty': 0.6}
⚠️ 核心易错说明
config["新键"] = 值→ 键不存在就是新增config["已有键"] = 新值→ 键已存在就是修改- 新增和修改语法完全一样,Python 靠"键是否存在"自动判断
update()可以一次更新多个键值对,传入的也是一个字典
模块4:删除键值对
🧩 Scratch 思路
在 Scratch 中删除键值对需要:
- 在
config_keys中找到键的序号 - 删除
config_keys的该序号项 - 删除
config_values的同一序号项
需要三步,还要小心两个列表同步删除!

🐍 Python 代码
python
# 【Scratch积木】删除 [config_keys] 的第 (序号) 项
# 【Scratch积木】删除 [config_values] 的第 (序号) 项
# Scratch需要两步同步删除两个列表
# Python用 del 或 .pop() 一步搞定
config = {"model": "gpt-4", "temperature": 0.7, "max_tokens": 1000, "top_p": 0.9}
# 方式1:del 关键字删除
del config["top_p"]
print("删除top_p后:", config)
# 方式2:.pop() 删除并返回被删除的值
removed_value = config.pop("max_tokens")
print("删除的max_tokens值:", removed_value)
print("删除max_tokens后:", config)
# 方式3:.popitem() 删除最后一个键值对(Python 3.7+)
last_item = config.popitem()
print("删除的最后一项:", last_item)
print("删除最后项后:", config)
# 方式4:.clear() 清空整个字典
config.clear()
print("清空后:", config)
▶️ 运行结果
删除top_p后: {'model': 'gpt-4', 'temperature': 0.7, 'max_tokens': 1000}
删除的max_tokens值: 1000
删除max_tokens后: {'model': 'gpt-4', 'temperature': 0.7}
删除的最后一项: ('temperature', 0.7)
删除最后项后: {'model': 'gpt-4'}
清空后: {}
⚠️ 核心易错说明
del config["键"]如果键不存在会报错(KeyError).pop("键")删除并返回值,键不存在也报错,但可以.pop("键", 默认值)避免报错.pop()和列表的.pop()不同:列表的 pop 按序号删,字典的 pop 按键删
模块5:遍历字典
🧩 Scratch 思路
在 Scratch 中遍历"模拟字典"需要用变量从 1 到列表长度循环,同时取两个列表的对应项,非常繁琐。

🐍 Python 代码
python
# 【Scratch积木】将 [序号] 设为 1
# 【Scratch积木】重复执行 (config_keys的长度) 次
# 【Scratch积木】 说出 (config_keys 的第 (序号) 项) 和 (config_values 的第 (序号) 项)
# 【Scratch积木】 将 [序号] 增加 1
# Scratch需要手动管理序号循环
# Python有三种优雅的遍历方式
config = {"model": "gpt-4", "temperature": 0.7, "max_tokens": 1000}
# 方式1:遍历所有键 keys()
print("=== 所有键 ===")
for key in config.keys():
print(f" 键:{key}")
# 方式2:遍历所有值 values()
print("=== 所有值 ===")
for value in config.values():
print(f" 值:{value}")
# 方式3:遍历所有键值对 items()(最常用!)
print("=== 所有键值对 ===")
for key, value in config.items():
print(f" {key} = {value}")
# 简写:直接 for key in config 等价于 for key in config.keys()
print("=== 简写遍历键 ===")
for key in config:
print(f" 键:{key}")
▶️ 运行结果
=== 所有键 ===
键:model
键:temperature
键:max_tokens
=== 所有值 ===
值:gpt-4
值:0.7
值:1000
=== 所有键值对 ===
model = gpt-4
temperature = 0.7
max_tokens = 1000
=== 简写遍历键 ===
键:model
键:temperature
键:max_tokens
⚠️ 核心易错说明
for key, value in config.items()是最常用的遍历方式,记住这个!config.keys()、config.values()、config.items()返回的不是列表,但可以用list()转成列表- 遍历时修改字典大小(新增/删除键)会报错,建议先复制再修改
模块6:嵌套字典(字典里套字典)
🧩 Scratch 思路
在 Scratch 中模拟嵌套字典需要更多列表 或者用分隔符拼接字符串 ,非常复杂。
比如要存 "chat模型的temperature",可能要拼成 "chat_temperature" 作为键。


Python 直接用字典套字典,优雅得多!
🐍 Python 代码
python
# 【Scratch积木】(Scratch模拟嵌套字典非常困难,通常用多个独立列表或拼接键名)
# Python天然支持嵌套字典,就像"通讯录里每个联系人还有自己的详细信息"
# AI平台的多模型配置:每个模型有自己的参数字典
ai_platform = {
"chat": {
"model": "gpt-4",
"temperature": 0.7,
"max_tokens": 1000
},
"image": {
"model": "dall-e-3",
"size": "1024x1024",
"quality": "hd"
},
"speech": {
"model": "tts-1",
"voice": "alloy",
"speed": 1.0
}
}
# 查询嵌套字典:一层一层用 [] 取
print("聊天模型:", ai_platform["chat"]["model"])
print("图片尺寸:", ai_platform["image"]["size"])
print("语音速度:", ai_platform["speech"]["speed"])
# 修改嵌套字典中的值
ai_platform["chat"]["temperature"] = 0.3
print("修改后聊天温度:", ai_platform["chat"]["temperature"])
# 遍历嵌套字典
print("\n=== 所有模型配置 ===")
for service, params in ai_platform.items():
print(f"\n[{service}] 服务配置:")
for key, value in params.items():
print(f" {key} = {value}")
▶️ 运行结果
聊天模型: gpt-4
图片尺寸: 1024x1024
语音速度: 1.0
修改后聊天温度: 0.3
=== 所有模型配置 ===
[chat] 服务配置:
model = gpt-4
temperature = 0.3
max_tokens = 1000
[image] 服务配置:
model = dall-e-3
size = 1024x1024
quality = hd
[speech] 服务配置:
model = tts-1
voice = alloy
speed = 1.0
⚠️ 核心易错说明
- 嵌套字典取值要一层一层取 :
ai_platform["chat"]["model"] - 取值时每一层的键都必须存在,否则报错
- 安全做法:用
.get()逐层取值,或先用in判断键是否存在
4. 综合实战项目
🚀 实战1:AI大模型参数配置表
项目描述:用字典管理 AI 大模型的配置参数,实现创建配置、修改参数、查询单个参数、批量打印所有配置的功能。
💡 回忆 Day 5 :我们用函数封装操作,让代码更整洁、可复用。这里把每个配置操作都封装成函数!
python
# ========================================
# 实战1:AI大模型参数配置表
# 功能:创建配置、修改参数、查询参数、批量打印
# ========================================
def create_config(model, temperature, max_tokens, top_p=0.9):
"""创建AI大模型参数配置字典"""
config = {
"model": model,
"temperature": temperature,
"max_tokens": max_tokens,
"top_p": top_p
}
return config
def update_param(config, key, value):
"""修改或新增参数"""
old_value = config.get(key, "(原无此参数)")
config[key] = value
print(f"✅ 参数 [{key}] 已更新:{old_value} → {value}")
def query_param(config, key):
"""查询单个参数"""
if key in config:
print(f"🔍 参数 [{key}] = {config[key]}")
else:
print(f"❌ 配置中不存在参数 [{key}]")
def print_all_config(config):
"""批量打印所有配置"""
print("\n📋 ===== 当前AI配置 =====")
for key, value in config.items():
print(f" {key} = {value}")
print("=" * 30)
# ------ 运行演示 ------
print("=" * 40)
print("🤖 AI大模型参数配置表管理系统")
print("=" * 40)
# 1. 创建配置
config = create_config("gpt-4", 0.7, 1000)
print("\n🎉 配置创建成功!")
print_all_config(config)
# 2. 修改参数
update_param(config, "temperature", 0.3)
update_param(config, "max_tokens", 2000)
# 3. 新增参数
update_param(config, "frequency_penalty", 0.5)
update_param(config, "presence_penalty", 0.3)
# 4. 查询参数
query_param(config, "model")
query_param(config, "temperature")
query_param(config, "top_p")
query_param(config, "unknown_param") # 查询不存在的参数
# 5. 批量打印
print_all_config(config)
▶️ 运行结果
========================================
🤖 AI大模型参数配置表管理系统
========================================
🎉 配置创建成功!
📋 ===== 当前AI配置 =====
model = gpt-4
temperature = 0.7
max_tokens = 1000
top_p = 0.9
==============================
✅ 参数 [temperature] 已更新:0.7 → 0.3
✅ 参数 [max_tokens] 已更新:1000 → 2000
✅ 参数 [frequency_penalty] 已更新:(原无此参数) → 0.5
✅ 参数 [presence_penalty] 已更新:(原无此参数) → 0.3
🔍 参数 [model] = gpt-4
🔍 参数 [temperature] = 0.3
🔍 参数 [top_p] = 0.9
❌ 配置中不存在参数 [unknown_param]
📋 ===== 当前AI配置 =====
model = gpt-4
temperature = 0.3
max_tokens = 2000
top_p = 0.9
frequency_penalty = 0.5
presence_penalty = 0.3
==============================
🚀 实战2:学生成绩管理系统
项目描述 :用嵌套字典存储多个学生的多科目成绩,实现添加学生、录入成绩、查询成绩、计算平均分、按平均分排名的功能。
python
# ========================================
# 实战2:学生成绩管理系统
# 功能:嵌套字典存储、查询、统计、排名
# ========================================
# 用嵌套字典存储:每个学生是一个字典,包含各科成绩
grade_book = {
"小明": {"语文": 92, "数学": 88, "英语": 95},
"小红": {"语文": 85, "数学": 99, "英语": 78},
"小刚": {"语文": 78, "数学": 92, "英语": 86}
}
def add_student(book, name):
"""添加新学生"""
if name in book:
print(f"⚠️ 学生 [{name}] 已存在!")
else:
book[name] = {}
print(f"✅ 已添加学生 [{name}],请录入成绩")
def set_score(book, name, subject, score):
"""录入/修改成绩"""
if name not in book:
print(f"❌ 学生 [{name}] 不存在,请先添加")
return
book[name][subject] = score
print(f"✅ [{name}] 的 {subject} 成绩已设为 {score}")
def query_score(book, name):
"""查询某学生的所有成绩"""
if name not in book:
print(f"❌ 学生 [{name}] 不存在")
return
print(f"\n📊 [{name}] 的成绩单:")
for subject, score in book[name].items():
print(f" {subject}:{score}分")
def calc_average(book, name):
"""计算某学生的平均分"""
if name not in book or len(book[name]) == 0:
print(f"❌ [{name}] 没有成绩数据")
return 0
scores = list(book[name].values())
avg = sum(scores) / len(scores)
print(f"📈 [{name}] 平均分:{avg:.1f}(总分{sum(scores)},{len(scores)}科)")
return avg
def rank_students(book):
"""按平均分排名"""
print("\n🏆 ===== 成绩排行榜 =====")
student_avgs = []
for name in book:
scores = list(book[name].values())
if len(scores) > 0:
avg = sum(scores) / len(scores)
student_avgs.append((name, avg))
# 按平均分从高到低排序
student_avgs.sort(key=lambda x: x[1], reverse=True)
for i, (name, avg) in enumerate(student_avgs, 1):
medal = "🥇" if i == 1 else ("🥈" if i == 2 else ("🥉" if i == 3 else f" {i}."))
print(f" {medal} {name}:平均分 {avg:.1f}")
# ------ 运行演示 ------
print("=" * 40)
print("📚 学生成绩管理系统")
print("=" * 40)
# 查询成绩
query_score(grade_book, "小明")
query_score(grade_book, "小红")
# 添加新学生并录入成绩
add_student(grade_book, "小丽")
set_score(grade_book, "小丽", "语文", 96)
set_score(grade_book, "小丽", "数学", 94)
set_score(grade_book, "小丽", "英语", 98)
# 修改成绩
set_score(grade_book, "小明", "数学", 95)
# 计算平均分
calc_average(grade_book, "小明")
calc_average(grade_book, "小红")
calc_average(grade_book, "小丽")
# 排名
rank_students(grade_book)
▶️ 运行结果
========================================
📚 学生成绩管理系统
========================================
📊 [小明] 的成绩单:
语文:92分
数学:88分
英语:95分
📊 [小红] 的成绩单:
语文:85分
数学:99分
英语:78分
✅ 已添加学生 [小丽],请录入成绩
✅ [小丽] 的 语文 成绩已设为 96
✅ [小丽] 的 数学 成绩已设为 94
✅ [小丽] 的 英语 成绩已设为 98
✅ [小明] 的 数学 成绩已设为 95
📈 [小明] 平均分:94.0(总分282,3科)
📈 [小红] 平均分:87.3(总分262,3科)
📈 [小丽] 平均分:96.0(总分288,3科)
🏆 ===== 成绩排行榜 =====
🥇 小丽:平均分 96.0
🥈 小明:平均分 94.0
🥉 小红:平均分 87.3
5. 高频易错点总结
❌ 易错1:用不存在的键直接取值导致报错
python
# 错误写法 ❌
config = {"model": "gpt-4"}
print(config["temperature"]) # KeyError: 'temperature'
# 正确写法 ✅
print(config.get("temperature", "未设置")) # 未设置
# 或者先判断
if "temperature" in config:
print(config["temperature"])
❌ 易错2:混淆字典和列表的语法
python
# 字典用花括号,键值对用冒号
my_dict = {"name": "小明", "age": 12} # ✅ 字典
# 列表用方括号,元素用逗号
my_list = ["小明", 12] # ✅ 列表
# 错误:用列表语法写字典 ❌
# wrong = ["name": "小明"] # 语法错误!
❌ 易错3:遍历时修改字典大小
python
# 错误写法 ❌
config = {"a": 1, "b": 2, "c": 3}
for key in config:
if config[key] < 2:
del config[key] # RuntimeError: 字典大小改变了!
# 正确写法 ✅:先收集要删的键,遍历后再删
to_delete = []
for key in config:
if config[key] < 2:
to_delete.append(key)
for key in to_delete:
del config[key]
❌ 易错4:嵌套字典取值跳层
python
ai_platform = {"chat": {"model": "gpt-4", "temperature": 0.7}}
# 错误写法 ❌:跳过中间层
# print(ai_platform["model"]) # KeyError: 'model'
# 正确写法 ✅:一层一层取
print(ai_platform["chat"]["model"]) # gpt-4
❌ 易错5:误以为字典有"序号"
python
config = {"model": "gpt-4", "temperature": 0.7}
# 错误理解 ❌:字典不能用序号取值
# print(config[0]) # KeyError: 0(字典没有序号!)
# 正确理解 ✅:字典用键取值
print(config["model"]) # gpt-4
# 列表才用序号
fruits = ["苹果", "香蕉"]
print(fruits[0]) # 苹果 ✅ 列表可以用序号
6. 💡 学习提示
💡 学习提示
为鼓励大家动手练习、吃透编程逻辑,本篇不提供Scratch成品源码,请对照截图亲手搭建积木完成复刻!
配套Python代码可直接复制运行学习。
7. 往期历史笔记
-
编程启蒙|Scratch 转 Python 系列第 3 天:循环重复积木双向对照(AI 批量循环处理,已收录 AI Agent 技术社区)
-
编程启蒙|Scratch 转 Python 系列第 5 天:自定义积木 / 函数双向对照(AI 工具封装、重复指令简化实战)
-
编程启蒙|Scratch 转 Python 系列第 6 天:列表、数组积木双向对照(AI 底层语法 / AI 批量数据处理实战)
-
编程启蒙|Scratch 转 Python 系列第 7 天:猜数字大挑战·升级版实战(AI 出题 + 二分查找最优解 + 完整命令行游戏)
8. 下一章预告
🎮 Day 10:问答闯关游戏实战------串联字典+列表,AI题库管理+随机出题
下节课我们将把 Day 6 的列表和 Day 9 的字典结合起来,打造一个完整的问答闯关游戏!
- 📚 用字典管理题库(题目、选项、答案)
- 🎲 用列表+随机模块实现随机出题
- 🏆 计分系统+闯关等级
- 🤖 模拟AI题库管理场景
敬请期待!
9. 原创声明
📢 本文为 梅雅达编程笔记 原创内容,系「Scratch 转 Python 编程启蒙系列」第9天教程。
🔒 版权声明:本文所有文字、代码、教学设计均为原创,禁止任何形式的搬运、抄袭、转载(包括但不限于复制全文、截取段落、改头换面发布等)。
✅ 如需引用,请注明出处:梅雅达编程笔记,并附上原文链接。
📩 如发现侵权行为,欢迎举报。尊重原创,从你我做起!
--- 梅雅达编程笔记 · 让编程启蒙更简单 ---