Python 基础语法与 AI 入门
这篇是给真正的初学者准备的。我们不默认你已经会编程,会从变量、字符串、列表、元组、字典、条件判断、循环、函数这些最基础的东西讲起,并且始终带着一个目标:学完以后,你能看懂 AI 相关 Python 代码,也能自己写一些小脚本。
先别紧张。
你现在不需要一下子变成 Python 工程师。对想学 AI API 调用、自动化脚本和基础数据处理的人来说,第一阶段只需要掌握一件事:能读懂基础代码,能改小例子,能写简单脚本。这篇就是帮你把这个基础搭起来。
02. Python 到底是什么
Python 是一门通用编程语言,因为语法相对清晰、社区大、库很多,所以在 AI、数据分析、自动化脚本、后端开发里都非常常见。
为什么 AI 圈常用 Python
- 语法相对直观,适合快速实验。
- 生态成熟,很多 AI 框架默认就是 Python。
- 写脚本和写应用都方便。
- 社区资料和示例非常多。
你现在先不用担心的事
- 不用先学很深的算法。
- 不用先会复杂面向对象。
- 不用先懂底层编译原理。
- 先把基础语法和读代码能力打稳就够了。
03. 变量、类型、输入输出
3.1 什么是变量
变量就是一个名字,用来暂时保存数据。
name = "小王"
age = 18
score = 95.5
is_student = True上面四个变量分别保存了字符串、整数、浮点数、布尔值。
| 类型 | 例子 | 用途 |
|---|---|---|
| str | "hello" | 文字内容 |
| int | 18 | 整数 |
| float | 95.5 | 小数 |
| bool | True / False | 真假判断 |
3.2 输出:先学会看结果
name = "小王"
print(name)
print("你好,", name)print() 是最常见的输出函数。学习编程早期,print 就像手电筒,能帮你看见变量里到底装了什么。
3.3 输入:让程序接收用户内容
name = input("请输入你的名字:")
print("欢迎你,", name)注意。
input() 拿到的默认是字符串。如果你输入的是数字,想拿来做数学运算,通常要先转换类型。
age = int(input("请输入年龄:"))
print(age + 1)04. 字符串与常见处理
字符串就是文本。AI 应用里几乎到处都在处理字符串,因为 prompt、用户问题、模型输出,本质上都和文本强相关。
4.1 常见字符串操作
text = "hello python"
print(text.upper())
print(text.replace("python", "AI"))
print(len(text))4.2 格式化输出
name = "小李"
score = 98
print(f"{name} 的分数是 {score}")f"..." 是非常常用的写法,后面你写日志、拼 prompt、拼路径时都会经常用到。
4.3 字符串切片
text = "abcdef"
print(text[0])
print(text[1:4])
print(text[-1])切片是 Python 很有代表性的能力,后面处理列表、日志、文本片段时也会经常看到。
05. 列表、元组、字典、集合
这一节非常重要。因为你以后写程序,绝大多数时间都在和“装数据的容器”打交道。
5.1 列表 list:最常用
fruits = ["苹果", "香蕉", "橘子"]
print(fruits[0])
fruits.append("葡萄")
print(fruits)列表的特点是:有顺序、可以修改、可以增加删除元素。
列表常见操作
nums = [1, 2, 3]
nums.append(4)
nums.insert(0, 100)
nums.remove(2)
print(len(nums))
print(nums)以后你拿到一批文档、一批消息、一批 API 结果时,通常都会先放进列表里处理。
5.2 元组 tuple:这正是你刚提到要补的重点
point = (10, 20)
print(point[0])
print(point[1])元组和列表有点像,但最大的区别是:元组通常不改。你可以把它理解成“更稳定的记录”。
列表
- 用
[] - 可以改、可以加、可以删
- 适合动态数据
元组
- 用
() - 通常不修改
- 适合固定结构的数据
user = ("张三", 28, "北京")
name, age, city = user
print(name)
print(age)
print(city)上面这种写法叫解包,非常实用。以后函数返回多个值时,你会经常看到元组解包。
元组两个特别容易忽略的小点
- 只有一个元素的元组要写成
(1,),后面的逗号不能少。 - “元组不能改”更准确地说,是元组本身的结构通常不改。
single = (5,)
print(type(single))5.3 字典 dict:键值对容器
student = {
"name": "小王",
"age": 18,
"score": 95
}
print(student["name"])
print(student["score"])字典特别适合表达“字段名 -> 值”的结构。以后你处理 JSON、API 响应、配置项,几乎一定会遇到字典。
字典常见操作
student = {"name": "小王", "age": 18}
print(student.get("name"))
student["city"] = "北京"
student["age"] = 19
print(student)很多 AI SDK 返回的数据,本质上就是嵌套字典。你以后看到 response["choices"][0]["message"]["content"] 这类写法,不要怕,它只是字典和列表在一起使用。
5.4 集合 set:去重很方便
nums = {1, 2, 2, 3, 3, 3}
print(nums)集合的一个典型用途就是去重。
5.5 这四种容器怎么选
| 容器 | 特点 | 适合什么场景 |
|---|---|---|
| list | 有序、可改 | 一批可增删的数据 |
| tuple | 有序、通常不改 | 固定结构数据、函数多返回值 |
| dict | 键值映射 | 用户信息、配置、JSON |
| set | 无重复 | 去重、成员判断 |
06. 条件判断
程序不是每次都做同一件事,经常要根据不同情况做不同处理,这就需要条件判断。
age = 20
if age >= 18:
print("你已经成年")
else:
print("你还未成年")6.1 多条件判断
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")一个非常重要的 Python 语法点。
Python 不靠大括号区分代码块,而是靠缩进。也就是说,缩进不是格式问题,而是语法本身的一部分。
6.2 条件里常见的逻辑运算
age = 20
has_ticket = True
if age >= 18 and has_ticket:
print("可以入场")and:并且or:或者not:取反
07. 循环:for、while、break、continue
你专门提到“循环”,这部分我给你展开讲清楚。循环就是让程序重复做某件事。
7.1 for 循环:最常用
fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits:
print(fruit)这段代码的意思很简单:把列表里的每个元素依次拿出来,放到 fruit 这个变量里,然后打印。
7.2 range:生成一串数字
for i in range(5):
print(i)结果会打印:0 1 2 3 4。也就是说,range(5) 表示从 0 到 4。
for i in range(1, 6):
print(i)这次就是从 1 打印到 5。
7.3 while 循环:满足条件就一直重复
count = 0
while count < 3:
print(count)
count += 1这段代码会打印 0、1、2。每执行一次,count 增加 1,直到条件不成立。
7.4 break:提前结束循环
for i in range(10):
if i == 5:
break
print(i)当 i == 5 时,循环会直接停止。
7.5 continue:跳过本轮,继续下一轮
for i in range(5):
if i == 2:
continue
print(i)这段代码会跳过 2,不打印它。
7.6 循环里最容易踩的坑
坑 1:死循环
while 条件一直成立,但变量没更新,程序就会停不下来。
坑 2:缩进错
循环内部的代码如果缩进不对,执行范围就会完全变样。
坑 3:边遍历边乱改
遍历列表时同时随意删除元素,容易出错或漏项。
7.7 一个非常实用的写法:enumerate
fruits = ["苹果", "香蕉", "橘子"]
for index, fruit in enumerate(fruits):
print(index, fruit)这样你既能拿到元素本身,也能拿到下标。
7.8 for 循环和 while 循环怎么选
| 情况 | 推荐 |
|---|---|
| 你知道要遍历哪些元素 | for |
| 你知道要循环几次 | for + range |
| 你不知道循环几次,只知道何时结束 | while |
给 AI 初学者一个真实感。
你以后处理一批文本、遍历一组文件、批量请求接口、循环读取模型返回结果时,循环都非常常见。所以这部分不是“课本知识”,而是你很快就会用上的基本功。
7.9 嵌套循环先建立直觉就够了
for i in range(2):
for j in range(3):
print(i, j)外层循环跑一次,内层循环会完整跑一遍。以后做二维表格、组合遍历时会见到它。
7.10 列表推导式:先看懂,不用急着滥用
nums = [1, 2, 3, 4]
squares = [n * n for n in nums]
print(squares)这是一种更紧凑的写法。初学时只要先能看懂,不一定一上来就全都用它。
08. 函数与返回值
函数就是把一段可复用逻辑包起来,起个名字,以后重复使用。
def say_hello(name):
print(f"你好,{name}")
say_hello("小王")8.1 带返回值的函数
def add(a, b):
return a + b
result = add(3, 5)
print(result)return 的意思是:把结果交回去。
8.2 一个函数可以返回多个值
def get_user_info():
return "小王", 18, "上海"
name, age, city = get_user_info()
print(name, age, city)这里本质上就是返回了一个元组,然后解包。你看,元组又在这里派上用场了。
8.3 参数、返回值、函数名,要尽量清楚
- 函数名要让人一看就知道做什么。
- 参数名不要太随意。
- 返回值最好让调用方容易理解和使用。
8.4 默认参数和关键字参数
def greet(name, city="上海"):
print(f"你好,{name},你来自 {city}")
greet("小王")
greet("小李", city="北京")这种写法在 SDK 和工具函数里很常见。你以后看到某个参数“可传可不传”,大概率就是默认参数。
09. 文件、异常、模块
9.1 文件读取
with open("demo.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)以后你处理 prompt 模板、配置文件、数据文件时,经常会用到文件读取。
9.2 异常处理
try:
num = int(input("请输入数字:"))
print(num)
except ValueError:
print("你输入的不是合法数字")程序并不总会按预想运行,异常处理就是给程序兜底。
9.3 模块导入
import math
print(math.sqrt(16))模块可以理解成“别人已经写好的工具箱”。以后你导入 requests、openai、json 这类模块,本质上也是同一件事。
9.4 JSON 为什么你一定会遇到
import json
user = {"name": "小王", "age": 18}
text = json.dumps(user, ensure_ascii=False)
print(text)AI 接口返回值、配置文件、前后端交互数据里,JSON 非常常见。而 JSON 在 Python 里通常就是字典和列表的组合。
10. 类和对象,要懂到什么程度
如果你是 AI 应用初学者,类和对象先知道基本概念就够了,不必一开始钻太深。
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(f"{self.name} 在叫")
my_dog = Dog("旺财")
my_dog.bark()类可以理解成“模板”,对象是“按模板创建出来的具体实例”。你以后看到 SDK 封装、客户端对象、配置对象时,就不会太陌生。
11. 这些语法怎么服务 AI 开发
你可能会问:我学这些基础语法,到底和 AI API、自动化脚本、数据处理有什么关系?其实关系很直接。
变量 → 保存 API Key、模型名、用户输入 → 列表/字典 → 组织 messages、JSON、工具结果 → 循环 → 批量处理文本、遍历结果
你会在 AI 代码里高频看到
- 字典:表示 JSON 和消息对象
- 列表:表示消息列表、文档列表、结果列表
- 循环:批量调用接口或遍历输出
- 函数:封装工具和业务逻辑
你学完后能更轻松地读懂
messages = [{...}, {...}]for item in results:def get_weather(city):config["model"] = "gpt-4.1"
11.1 如果你以后要调 AI API,最少要会哪些 Python 能力
- 变量:保存 API Key、模型名、用户输入。
- 字典和列表:组织请求体和响应体。
- 循环:批量处理多个请求或结果。
- 函数:把重复逻辑封装起来。
- 异常处理:接口失败时给出提示或重试。
11.2 一个非常贴近 AI 的小例子
messages = [
{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "请解释什么是 Transformer"}
]
for message in messages:
print(message["role"], ":", message["content"])这里就同时用到了:列表、字典、循环、字符串。也就是说,你学的基础语法,马上就能和 AI 代码接上。
12. 小练习、答案与学习路径
12.1 很适合现在就做的练习
练习 A:分数判断
输入一个分数,用 if / elif / else 输出等级。
练习 B:列表遍历
准备一个水果列表,用 for 循环把它们逐个打印。
练习 C:元组解包
定义一个元组保存姓名、年龄、城市,然后解包输出。
练习 D:写一个函数
写一个函数,接收两个数字,返回它们的和。
练习 E:读取文件
读取一个文本文件,把内容打印出来。
练习 F:AI 消息遍历
用列表 + 字典模拟一组 messages,再循环打印每条消息。
12.2 参考答案与讲解
怎么使用这一部分
建议先自己敲一遍,再来看参考答案。这里给的是“基础可运行版本”,重点是帮你建立正确写法和直觉,不是追求花哨技巧。
练习 A:分数判断
score = int(input("请输入分数:"))
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")这题的核心是练 if / elif / else。先把输入转成 int,否则拿字符串和数字比较会出问题。
练习 B:列表遍历
fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits:
print(fruit)这题重点是理解:for fruit in fruits 会把列表里的元素一个一个取出来。以后遍历文档列表、消息列表、接口结果时就是这个思路。
练习 C:元组解包
user = ("小王", 18, "上海")
name, age, city = user
print(name)
print(age)
print(city)这题重点不是“会写元组”,而是理解固定结构的数据可以一次性拆开。后面函数返回多个值时,你会经常看到这种写法。
练习 D:写一个函数
def add(a, b):
return a + b
result = add(3, 5)
print(result)这题重点是理解函数的三个部分:函数名、参数、返回值。注意这里用的是 return,不是只在函数里面 print 结果。
练习 E:读取文件
with open("demo.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)这题重点是认识 with open(...) 这种常见写法。它会在使用完成后自动关闭文件。前提是当前目录里已经有一个 demo.txt 文件。
练习 F:AI 消息遍历
messages = [
{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "请解释什么是 Prompt"}
]
for message in messages:
print(message["role"], ":", message["content"])这题是把前面的语法和 AI 场景接起来。你需要同时看懂列表、字典、循环和字符串访问,这就是很多 AI API 示例代码的基础骨架。
12.3 推荐学习顺序
- 先学变量、字符串、列表、字典。
- 再重点练条件判断和循环。
- 然后学函数和返回值。
- 再补文件、异常、模块。
- 最后带着这些基础去看 AI API、小脚本和自动化示例。
给你一个务实建议。
不要追求“一次看完全部语法”。更有效的方法是:每学完一小块,就自己敲一遍、改一遍、试一遍。编程基础不是靠背会的,而是靠手感慢慢建立的。
12.4 一条很适合你的衔接路线
Python 基础语法 → Python + AI API → Prompt 处理 → 数据处理 / 自动化 → Transformer 原理
13. 下一步学什么
如果你把这篇里的内容掌握到“能看懂、能改、能自己写一点”,下一步就很自然了:
- 先去看
Python 与 AI API这类实操页,开始接接口。 - 再练一些文本处理、JSON 解析、文件读写的小项目。
- 再进入更深入的 AI 原理或测试专题,把基础语法真正用起来。
最后一句鼓励。
如果你现在还觉得“这些我能看懂,但写起来会慢”,这是完全正常的。对初学者来说,最重要的不是写得快,而是慢慢把变量、容器、循环、函数这些最基本的积木搭稳。积木稳了,后面的 AI 代码你会越来越能读懂,也越来越敢自己动手。