feat(python基础): 新增元组教学课程

This commit is contained in:
zhiye.sun
2026-07-29 14:59:37 +08:00
parent 30be6923ed
commit 4181826067
4 changed files with 688 additions and 5 deletions

View File

@@ -0,0 +1,107 @@
# 第 1-9 课示例:元组
#
# 本文件使用 Agent 固定配置作为统一示例,演示元组的主要操作。
# 示例无需用户输入,可以直接运行并对照注释观察结果。
# 一、创建多元素元组、空元组和单元素元组
agent_config = ("gpt-5", 0.7, 2000, True)
empty_config = ()
single_model = ("gpt-5",)
print(f"完整配置:{agent_config}")
print(f"空元组长度:{len(empty_config)}")
print(f"单元素元组:{single_model}")
print(f"单元素元组类型:{type(single_model)}")
# 二、索引和负索引
print(f"模型名称:{agent_config[0]}")
print(f"是否启用:{agent_config[-1]}")
# 三、切片
# 元组切片返回一个新元组。
basic_config = agent_config[:2]
remaining_config = agent_config[2:]
print(f"基础配置切片:{basic_config}")
print(f"其余配置切片:{remaining_config}")
# 四、成员判断、查找和统计
contains_model = "gpt-5" in agent_config
model_index = agent_config.index("gpt-5")
status_history = ("成功", "失败", "成功", "成功")
success_count = status_history.count("成功")
print(f"是否包含 gpt-5{contains_model}")
print(f"gpt-5 的索引:{model_index}")
print(f"成功出现次数:{success_count}")
# 五、遍历元组
supported_models = ("gpt-5", "o3", "gpt-4.1")
for number, model in enumerate(supported_models, start=1):
print(f"{number}. {model}")
# 六、拼接和重复
basic_settings = ("gpt-5", 0.7)
limit_settings = (2000, True)
full_settings = basic_settings + limit_settings
default_statuses = ("待处理",) * 3
print(f"拼接结果:{full_settings}")
print(f"重复结果:{default_statuses}")
# 七、通过创建新元组表达配置变更
# 原元组不会改变,新配置使用新的模型名称和原配置的其余元素。
new_config = ("o3",) + agent_config[1:]
print(f"原配置:{agent_config}")
print(f"新配置:{new_config}")
# 八、列表和元组转换
config_list = list(agent_config)
config_list[1] = 0.3
converted_config = tuple(config_list)
print(f"转换并修改后的配置:{converted_config}")
# 九、打包和解包
agent_snapshot = ("gpt-5", 0.7, 2000)
model_name, temperature, max_tokens = agent_snapshot
print(f"解包模型:{model_name}")
print(f"解包温度:{temperature}")
print(f"解包最大长度:{max_tokens}")
# 十、使用星号收集剩余元素
first_setting, *other_settings = agent_config
print(f"第一个配置:{first_setting}")
print(f"其余配置列表:{other_settings}")
print(f"其余配置的数据类型:{type(other_settings)}")
# 十一、交换两个变量
primary_model = "gpt-5"
backup_model = "o3"
primary_model, backup_model = backup_model, primary_model
print(f"交换后的主模型:{primary_model}")
print(f"交换后的备用模型:{backup_model}")
# 十二、元组内部包含列表
# 元组不能替换第二个元素,但第二个元素指向的列表可以修改自身内容。
agent_data = ("gpt-5", ["搜索", "计算"])
agent_data[1].append("写作")
print(f"包含列表的元组:{agent_data}")