一、Python 基础语法
学习一门语言,先要会最基本的三件事:
- 存数据
- 判断条件
- 重复处理
这就是变量、数据类型、条件判断和循环。
1. 变量是什么
变量可以理解成一个"有名字的盒子",用来保存数据。
例如:
python
name = "Eric"
age = 20
这里:
name保存的是"Eric"age保存的是20
以后你写程序时,很多内容都要先放进变量里,再去处理。
2. 基本数据类型是什么
Python 里最常用的几种数据类型如下。
int:整数
整数就是没有小数部分的数字。
python
age = 20
count = 100
float:浮点数
浮点数就是带小数的数字。
python
price = 19.9
score = 95.5
str:字符串
字符串就是文本内容,要用引号包起来。
python
name = "Eric"
city = "Shanghai"
bool:布尔值
布尔值只有两个结果:
True:真False:假
python
is_student = True
is_open = False
它通常用来表示"是否""对不对""成立不成立"。
list:列表
列表用来保存一组有顺序的数据。
python
skills = ["Python", "Git", "Linux"]
你可以通过位置取值:
python
print(skills[0])
输出:
python
Python
dict:字典
字典用来保存"键-值"对应关系,也就是"字段名"和"字段值"。
python
user = {
"name": "Eric",
"age": 20
}
你可以通过键来取值:
python
print(user["name"])
输出:
python
Eric
字典在 Python 开发里非常重要,因为后面 JSON、接口返回值、配置数据,很多都是这种结构。
3. 为什么要先学这些类型
因为后面你做的很多事情,本质上都是在处理这些数据:
- 读文件,拿到的是字符串
- JSON 解析后,通常是字典和列表
- 接口返回值,通常也是字典
- 表格中的列和行,也可以理解成结构化数据
所以这些类型不是语法细节,而是后面一切处理逻辑的基础。
4. 条件判断
程序不是一直从上到下机械执行,很多时候要根据条件做不同的事,这就需要 if。
python
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
这段代码的意思是:
- 分数大于等于 90,输出"优秀"
- 否则如果大于等于 60,输出"及格"
- 否则输出"不及格"
判断是程序做决策的基础。
5. 循环
循环用来重复处理数据。
python
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
这里的意思是:把列表里的每个数字依次取出来打印。
后面你处理文件、处理 JSON、处理表格时,都会经常用循环遍历数据。
二、函数、类、模块
会写基础语法之后,下一步不是"写更多代码",而是学会把代码组织起来。
1. 函数
函数就是把一段逻辑封装起来,给它一个名字,需要时直接调用。
python
def add(a, b):
return a + b
result = add(3, 5)
print(result)
这里:
def表示定义函数a和b是参数return表示返回结果
函数最大的意义不是语法,而是拆逻辑。
比如一个脚本要做三件事:
- 读取文件
- 处理数据
- 保存结果
那就最好拆成三个函数,而不是一坨代码全堆在一起。
例如:
python
def read_file():
pass
def process_data():
pass
def save_result():
pass
这样代码会更清晰,也更容易修改。
2. 类
类是另一种组织代码的方式。
函数更像"做一件事",类更像"描述一种对象"。
例如定义一个用户类:
python
class User:
def __init__(self, name):
self.name = name
def say_hello(self):
print(f"Hello, {self.name}")
使用:
python
user = User("Eric")
user.say_hello()
这里可以先简单理解:
class用来定义类__init__是初始化方法self表示对象自己say_hello是这个对象能做的事情
这一阶段对类的要求不用太高。你只需要先知道:
- 类是组织代码的一种方式
- 初学项目里,很多时候函数就够了
- 能看懂简单类,能写简单类,就可以了
3. 模块
模块本质上就是把代码拆到不同文件里。
比如有一个 utils.py:
python
def greet(name):
return f"Hello, {name}"
另一个文件 main.py:
python
from utils import greet
print(greet("Eric"))
这样做的好处是:
- 主流程和工具函数分开
- 文件职责更清晰
- 项目更容易维护
后面写项目时,通常会有这种结构:
main.py:主入口utils.py:工具函数api.py:接口调用config.py:配置
三、文件读写
写程序不能一直只处理写死在代码里的数据。
真正的程序要能从外部读取内容,也要能把结果保存出去。
1. 读取文件
python
with open("demo.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
这里有几个点要理解:
open()用来打开文件"r"表示读取模式encoding="utf-8"表示按 UTF-8 编码读取f.read()表示把全部内容读出来
with open(...) 的写法很常见,因为用完后文件会自动关闭。
2. 写入文件
python
with open("output.txt", "w", encoding="utf-8") as f:
f.write("Hello, file")
这里:
"w"表示写入模式- 如果文件不存在,会新建
- 如果文件已存在,原内容会被覆盖
3. 按行读取
有些时候不想一次把整个文件全读进来,而是想一行一行处理。
python
with open("demo.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
这里的 strip() 是去掉每行末尾的换行符。
按行读取特别适合:
- 处理日志
- 处理大文件
- 逐行分析文本
4. 为什么要写 encoding="utf-8"
因为文本文件必须按某种编码方式读写,否则可能出现乱码。
UTF-8 是现在最常见、最通用的文本编码方式,所以平时读写文本文件时,优先显式写上:
python
encoding="utf-8"
这样更稳。
四、JSON 处理
1. JSON 是什么
JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种很常见的数据交换格式。
例如:
json
{
"name": "Eric",
"age": 20,
"skills": ["Python", "Git"]
}
它看起来很像 Python 里的字典和列表。
实际上,在 Python 里处理 JSON 时,很多时候就是把它转成字典和列表来操作。
2. 读取 JSON 文件
python
import json
with open("user.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data)
print(data["name"])
这里:
import json导入 JSON 模块json.load(f)表示从文件中读取 JSON 并解析成 Python 对象
如果 JSON 文件里是对象结构,解析后通常得到字典。
如果 JSON 文件里是数组结构,解析后通常得到列表。
3. 写入 JSON 文件
python
import json
result = {
"name": "Eric",
"level": "beginner"
}
with open("result.json", "w", encoding="utf-8") as f:
json.dump(result, f, ensure_ascii=False, indent=2)
这里:
json.dump()表示把 Python 对象写成 JSONensure_ascii=False表示正常保存中文indent=2表示格式化缩进,更方便阅读
4. 为什么 JSON 这么重要
因为后面你做接口开发时,几乎一定会碰到:
- 请求参数是 JSON
- 返回数据是 JSON
- 配置文件可能是 JSON
所以学 JSON,不是因为它高级,而是因为它非常常用。
五、异常处理
程序运行时,不可能总是"刚好一切正常"。
文件可能不存在,用户可能输错,网络可能断开,接口可能超时。
这些错误如果不处理,程序就会直接报错退出。
1. 基本写法
python
try:
x = int(input("请输入一个数字:"))
print(x)
except ValueError:
print("输入的不是数字")
这里的意思是:
try里放"可能出错"的代码- 如果发生
ValueError,就执行except里的处理逻辑
2. 文件读取中的异常处理
python
try:
with open("demo.txt", "r", encoding="utf-8") as f:
content = f.read()
except FileNotFoundError:
print("文件不存在")
这表示:
- 如果文件找不到,不让程序直接崩掉
- 而是给出一个明确提示
3. 为什么异常处理重要
异常处理不是"高级技巧",而是让程序更像真实软件的基础。
没有异常处理的程序,常常很脆弱。
有了异常处理,程序至少能在出问题时:
- 给出解释
- 避免直接崩溃
- 让后续排查更容易
六、requests
1. requests 是什么
requests 是 Python 中最常用的 HTTP 请求库之一。
它的作用是让你的程序能够访问网络接口。
你以后做大模型应用开发时,经常会用它来:
- 调用天气接口
- 调用翻译接口
- 调用模型接口
- 调用第三方服务
2. 最简单的请求
python
import requests
response = requests.get("https://api.github.com")
print(response.status_code)
print(response.text)
这里:
requests.get()发送一个 GET 请求response.status_code是状态码response.text是返回的文本内容
3. 解析 JSON 返回值
很多接口返回的不是普通文本,而是 JSON。
python
import requests
response = requests.get("https://api.github.com")
data = response.json()
print(data)
这里的 response.json() 会把返回结果解析成 Python 对象,通常就是字典或列表。
4. 带参数请求
python
import requests
params = {"q": "python"}
response = requests.get("https://httpbin.org/get", params=params)
print(response.json())
这里的 params 表示查询参数。
5. 加上异常处理
python
import requests
try:
response = requests.get("https://api.github.com", timeout=10)
response.raise_for_status()
data = response.json()
print(data)
except requests.exceptions.RequestException as e:
print("请求失败:", e)
这里:
timeout=10表示最多等 10 秒raise_for_status()表示如果状态码异常,就抛出错误RequestException是网络请求相关异常的总类
这才更接近真实项目里的写法。
七、pandas 基础
1. pandas 是什么
pandas 是 Python 里最常用的数据处理库之一,特别适合处理表格型数据。
比如:
- CSV 文件
- Excel 文件
- 结构化数据统计
2. DataFrame 是什么
pandas 最核心的对象叫 DataFrame 。
你可以把它理解成"Python 里的表格"。
一行一行是记录,一列一列是字段,和你看到的 Excel 表很像。
3. 读取 CSV 文件
python
import pandas as pd
df = pd.read_csv("data.csv")
print(df)
这里:
import pandas as pd是常见写法pd.read_csv()用来读取 CSV 文件df通常就是一个 DataFrame
4. 查看前几行
python
print(df.head())
head() 默认显示前 5 行,方便你快速看数据长什么样。
5. 选择某一列
python
print(df["name"])
这表示取出 name 这一列。
6. 条件筛选
python
result = df[df["score"] > 80]
print(result)
这表示筛选出 score 大于 80 的所有行。
7. 保存结果
python
result.to_csv("result.csv", index=False)
这里:
to_csv()表示导出成 CSV 文件index=False表示不把行号写进去
8. 为什么 pandas 值得学
因为真实开发里,经常会遇到这种需求:
- 读取一张表
- 筛选符合条件的数据
- 做简单统计
- 导出结果
如果只靠最原始的列表和字典处理,会很慢也很麻烦。
而 pandas 就是专门解决这类问题的。
八、补充两个很实用的基础点
1. 路径处理
后面读写文件时,建议逐步接触 pathlib,比自己手写路径字符串更稳。
python
from pathlib import Path
file_path = Path("data") / "demo.txt"
print(file_path)
它的好处是:
- 路径拼接更清晰
- 跨平台更方便
- 可读性更好
2. 环境变量
后面调 API 时,不要把密钥直接写死在代码里。
更好的做法是放进环境变量或 .env 文件里。
这部分你后面学 API 项目时再展开,但现在先知道这个习惯很重要。
九、总结
这一阶段的核心,不是"学完 Python 语法",而是把最基础的应用开发能力串起来。
你应该逐步建立这样一条主线:
- 用变量和数据类型保存数据
- 用判断和循环处理逻辑
- 用函数、类、模块组织代码
- 用文件读写和 JSON 处理输入输出
- 用异常处理提升程序稳定性
- 用
requests调接口 - 用
pandas处理表格数据
如果这些内容学扎实了,你已经具备了做小项目的基础,比如:
- 天气查询脚本
- 翻译接口工具
- CSV 批量处理工具
- 命令行聊天机器人