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。为什么?因为代码是写给人看的,三个月后你自己回来看,也能秒懂。

小技巧:Python变量名区分大小写。Namename 是两个不同的变量。我建议统一用小写加下划线,比如 user_inputmodel_response

3.2 数据类型:Python的「物种分类」

Python里的数据,就像动物世界一样,分门别类。你得知道手里拿的是什么「物种」,才能正确操作它。

常用的有这么几种:

  • 整数(int):就是整数,比如 42-10
  • 浮点数(float):带小数点的,比如 3.140.001
  • 字符串(str):文本,用引号包着,比如 "你好"'API Key'
  • 布尔值(bool):只有 TrueFalse 两个值
  • 列表(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'>
重点:调用API时,返回的数据通常是JSON格式,Python会把它解析成字典或列表。所以字典和列表是你必须掌握的两种类型。

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}")
实战场景:调用API时,你可能会收到一个包含多条消息的列表。比如大模型返回了多个候选回答,你需要遍历这个列表,找到最合适的那一个。这时候,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的「基本功」。

我的建议:别急着往下学,先把这些基础操作敲一遍。打开你的Python环境,把上面的代码跑一跑,改一改。代码这东西,看十遍不如敲一遍。

下一章,咱们继续搞定字典、元组、条件判断和循环。这些东西学完,你就能看懂大部分API调用的代码了。