Python / 已完成

Python 后端够用基础

掌握写后端最常用的变量、函数、类、模块、异常、类型提示和异步。

返回文章积累

一句话:学后端不需要先把 Python 所有角落背完,先掌握变量、函数、类、模块、异常、类型提示、虚拟环境和异步这几块,就能开始写真实 API。

本篇学完你会什么:能读懂 FastAPI 项目里的常见 Python 代码,知道报错大概该往哪里查。

1. Python 在后端里负责什么

后端像一个办事大厅。前端发请求过来,Python 后端负责:

  • 接住请求
  • 检查参数
  • 调用业务逻辑
  • 读写数据库
  • 返回 JSON

所以你学 Python,不是为了炫技,而是为了把这些事情写清楚、写稳定。

Python 后端请求流程图

2. 变量和类型

变量就是给数据起名字。

username = "tom"
age = 18
is_admin = False

常见类型:

类型例子后端里常见用途
str"tom"用户名、标题、token
int18id、页码、数量
float9.9金额、比例
boolTrue是否启用、是否管理员
list[1, 2, 3]列表数据
dict{"name": "tom"}JSON 对象

3. 函数

函数就是把一段动作打包。

def add(a: int, b: int) -> int:
    return a + b

FastAPI 的接口本质上也是函数:

@router.get("/users/{user_id}")
async def get_user(user_id: int):
    return {"id": user_id}

大白话:用户访问这个地址,FastAPI 就调用这个函数。

4. 字典、列表和 JSON

后端最常返回 JSON,而 Python 里最像 JSON 的就是字典和列表。

user = {
    "id": 1,
    "username": "tom",
    "roles": ["admin", "editor"],
}

返回给前端后,会变成:

{
  "id": 1,
  "username": "tom",
  "roles": ["admin", "editor"]
}

5. 模块和包

项目大了以后,不能把所有代码写在一个文件。

app/
  main.py
  api/
    users.py
  services/
    user_service.py

导入代码:

from app.services.user_service import get_user_by_id

大白话:模块就是文件,包就是文件夹,import 就是把别处的工具拿过来用。

6. 类和对象

类像一张表格模板,对象是填好的一行数据。

class User:
    def __init__(self, username: str):
        self.username = username

user = User("tom")
print(user.username)

ORM 里经常看到类:

class User(Base):
    __tablename__ = "users"

这里的 User 类不是普通类,它代表数据库里的 users 表。

7. 异常处理

异常就是程序遇到不正常情况。

try:
    value = int("abc")
except ValueError:
    print("这不是数字")

后端里不要让错误直接炸给用户,要变成清楚的接口错误。

from fastapi import HTTPException

raise HTTPException(status_code=404, detail="用户不存在")

8. 类型提示

类型提示不是必须,但后端项目里非常重要。

def get_total(price: float, count: int) -> float:
    return price * count

它的价值:

  • 编辑器能提示你
  • FastAPI 能自动理解参数类型
  • Pydantic 能做数据校验
  • 以后看代码更容易

9. 虚拟环境和依赖

虚拟环境就是给每个项目准备独立工具箱。

python -m venv .venv
source .venv/bin/activate
pip install fastapi uvicorn
pip freeze > requirements.txt

以后别人拿到项目:

pip install -r requirements.txt

就能装同样的依赖。

10. async/await

后端常常要等数据库、等网络、等文件。

async 的意思是:这个函数可能会等待,等待的时候可以先处理别的请求。

async def get_user(user_id: int):
    user = await db.get(User, user_id)
    return user

先记住:

写法适合什么
def普通计算、简单逻辑
async def数据库、网络请求、文件等等待操作
await等一个异步结果回来

11. 学习顺序

  1. 先会变量、函数、字典、列表。
  2. 再会模块拆分。
  3. 再会类和对象。
  4. 再会异常处理。
  5. 再会类型提示。
  6. 最后理解 async/await。

总结表

名词大白话
变量给数据起名字
函数把一段动作打包
字典Python 里的 JSON 对象
模块一个 Python 文件
一组 Python 文件夹
对象模板
异常程序遇到不正常情况
类型提示给代码标注数据形状
虚拟环境项目的独立工具箱
async/await等待时不堵住整个服务

下一篇建议:大白话讲解——HTTP JSON REST API 大白话