3、Python基础速通(上):变量、数据类型、字符串与列表,为API调用打基础
说实话,很多同学一上来就急着调大模型API,结果连返回的数据都解析不了。我见过太多这样的案例了——代码跑通了,但拿到的结果不会处理。所以咱们先花点时间,把Python最核心的几个概念啃下来。
这一章,我带你搞定变量、数据类型、字符串和列表。别小看这些基础,它们是你后面调API、处理JSON、拼接Prompt的基石。
3.1 变量:给数据贴个标签
变量是什么?说白了,就是给数据起个名字。你想想看,如果每次都要写一长串数字或文本,多累啊。变量就是帮你记住这些东西的「小纸条」。
# 这就是变量
name = "GPT-4"
temperature = 0.7
max_tokens = 2048
我个人习惯用有意义的英文单词做变量名。比如用 api_key 而不是 ak,用 prompt_text 而不是 pt。为什么?因为代码是写给人看的,三个月后你自己回来看,也能秒懂。
Name 和 name 是两个不同的变量。我建议统一用小写加下划线,比如 user_input、model_response。
3.2 数据类型:Python的「物种分类」
Python里的数据,就像动物世界一样,分门别类。你得知道手里拿的是什么「物种」,才能正确操作它。
常用的有这么几种:
- 整数(int):就是整数,比如
42、-1、0 - 浮点数(float):带小数点的,比如
3.14、0.001 - 字符串(str):文本,用引号包着,比如
"你好"、'API Key' - 布尔值(bool):只有
True和False两个值 - 列表(list):一组数据的集合,用方括号,比如
[1, 2, 3] - 字典(dict):键值对,用花括号,比如
{"name": "GPT-4", "version": "turbo"}
你可以用 type() 函数随时查看数据类型:
print(type("Hello")) # <class 'str'>
print(type(3.14)) # <class 'float'>
print(type(True)) # <class 'bool'>
3.3 字符串:和文本打交道
字符串太重要了。你发给大模型的Prompt是字符串,大模型返回的回答也是字符串。可以说,整个API调用过程,就是字符串的「输入」和「输出」。
3.3.1 字符串的拼接
把几个字符串连起来,最直接的方式是用 +:
greeting = "你好" + "," + "世界"
print(greeting) # 你好,世界
但我在项目中更推荐用 f-string,它更直观、更不容易出错:
model = "GPT-4"
prompt = f"请用{model}帮我写一首诗"
print(prompt) # 请用GPT-4帮我写一首诗
嗯,这里要注意:f-string 里的变量名要用花括号包起来。这个写法在拼接API请求参数时特别好用。
3.3.2 字符串的常用方法
Python的字符串自带很多好用的方法。我挑几个最常用的:
| 方法 | 作用 | 示例 |
|---|---|---|
strip() |
去掉首尾空格 | " hello ".strip() → "hello" |
lower() |
转小写 | "HELLO".lower() → "hello" |
upper() |
转大写 | "hello".upper() → "HELLO" |
replace() |
替换子串 | "hello world".replace("world", "Python") → "hello Python" |
split() |
按分隔符拆分 | "a,b,c".split(",") → ["a", "b", "c"] |
strip(),结果用户多打了个空格,API请求就报错了。从那以后,凡是用户输入的字符串,我必先 strip() 一下。
3.4 列表:有序的数据集合
列表就是一组有序的数据。你可以把它想象成一个「购物车」,什么都能往里放。
3.4.1 创建和访问列表
# 创建一个列表
models = ["GPT-3.5", "GPT-4", "Claude", "Gemini"]
# 访问元素(索引从0开始)
print(models[0]) # GPT-3.5
print(models[2]) # Claude
# 负索引:从末尾开始数
print(models[-1]) # Gemini
为什么会从0开始?嗯,这是计算机科学的老传统了。你记住就行,第一个元素是 [0],不是 [1]。
3.4.2 列表的常用操作
列表最常用的操作就是增删改查:
# 添加元素
models.append("Llama") # 末尾添加
models.insert(0, "Mistral") # 指定位置插入
# 删除元素
models.remove("GPT-3.5") # 删除指定值
popped = models.pop() # 删除并返回最后一个
# 修改元素
models[0] = "GPT-4o"
# 获取长度
print(len(models)) # 列表中有几个元素
# 遍历列表
for model in models:
print(f"当前模型:{model}")
for 循环 + 列表操作就是你的好帮手。
3.4.3 列表切片:取一部分数据
切片是Python的特色功能,用起来特别爽:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 取前3个
print(numbers[:3]) # [0, 1, 2]
# 取第2到第5个
print(numbers[2:6]) # [2, 3, 4, 5]
# 取最后3个
print(numbers[-3:]) # [7, 8, 9]
# 每隔2个取一个
print(numbers[::2]) # [0, 2, 4, 6, 8]
我个人习惯在处理API返回的列表数据时,经常用切片来取前几条结果看看效果,调试起来特别方便。
3.5 实战:为API调用做准备
好了,理论讲完了。咱们来点实际的。假设你要调用一个聊天API,需要构造请求数据:
# 构造API请求的消息列表
messages = [
{"role": "system", "content": "你是一个Python专家"},
{"role": "user", "content": "请解释什么是列表"}
]
# 设置请求参数
api_params = {
"model": "GPT-4",
"messages": messages,
"temperature": 0.7,
"max_tokens": 500
}
# 打印看看
print(f"模型:{api_params['model']}")
print(f"消息数量:{len(api_params['messages'])}")
# 遍历消息
for msg in api_params['messages']:
print(f"{msg['role']}:{msg['content'][:20]}...")
你看,这一小段代码里,变量、字符串、列表、字典全用上了。这就是你调API的「基本功」。
下一章,咱们继续搞定字典、元组、条件判断和循环。这些东西学完,你就能看懂大部分API调用的代码了。