跳到主要内容

Python 完整教程(新手向)

阅读需 3 分钟

本教程面向零基础或刚接触 Python 的开发者,按由浅入深的顺序讲解所有主要知识点。建议按章节顺序阅读。


一、Python 简介

什么是 Python?

Python 是一种 解释型面向对象且以 可读性强 著称的编程语言。它的生态非常成熟,常见用途包括:

  • 脚本自动化(写小工具、处理文件、跑任务)
  • 数据分析与数据工程(Pandas、NumPy 等)
  • Web 后端与接口服务(FastAPI、Flask 等)
  • AI / 机器学习(生态强,社区资源多)

适合做什么?

  • 想用更少代码快速完成一个功能
  • 想做 API、脚本、爬虫或数据处理
  • 希望语言本身对新手友好,并且拥有大量开源库

二、环境准备与运行方式

安装 Python

  • 到官方站下载安装包(推荐 3.x 最新稳定版)
  • 如果你在 Linux/WSL 下,也可以使用系统包管理器或版本管理工具(如 pyenv)

创建虚拟环境(强烈建议)

避免把依赖装到全局 Python,造成版本冲突:

python -m venv .venv

激活虚拟环境:

# macOS / Linux
source .venv/bin/activate

# Windows(PowerShell)
.\.venv\Scripts\Activate.ps1

升级 pip 并安装依赖:

python -m pip install -U pip

提示:创建虚拟环境可以让每个项目的依赖互相独立,更容易复现和部署。

运行脚本

python main.py

也可以直接用模块方式运行:

python -m pip --version

三、基本语法与数据类型

变量与常量

Python 不需要写类型声明:

name = "Alice"
age = 18
is_student = True

常用数据类型

  • int:整数
  • float:浮点数
  • str:字符串
  • bool:布尔值
  • list:列表(可变)
  • tuple:元组(不可变,推荐当作“固定结构”使用)
  • dict:字典(键值对)
  • set:集合(去重)

字符串拼接:f-string

user = "Bob"
score = 95.5
print(f"{user} 的得分是 {score}")

四、条件与循环

条件分支

age = 20
if age >= 18:
print("adult")
else:
print("teen")

循环

for i in range(5):
print(i)

items = ["a", "b", "c"]
for item in items:
print(item)

while 循环:

count = 0
while count < 3:
count += 1
print(count)

五、函数与模块

函数定义与返回值

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

其中:

  • a: int / b: int 是类型标注(运行时不强制)
  • -> int 表示返回类型

模块与导入

假设有 utils.py

# utils.py
def hello(name: str) -> str:
return f"hello, {name}"

main.py

from utils import hello

print(hello("world"))

六、面向对象与异常处理

类与对象

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

def greet(self) -> str:
return f"hi, {self.name}"

u = User("Tom")
print(u.greet())

异常(try / except)

try:
n = int("123")
except ValueError as e:
print("转换失败:", e)

也可以在捕获后重新抛出:

try:
n = int("abc")
except ValueError as e:
raise RuntimeError("输入不是数字") from e

七、文件与数据格式

读写文件

with open("data.txt", "w", encoding="utf-8") as f:
f.write("Hello\n")

with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)

JSON

import json

obj = {"name": "Alice", "age": 18}

with open("data.json", "w", encoding="utf-8") as f:
json.dump(obj, f, ensure_ascii=False, indent=2)

with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data["name"])

八、类型标注与项目结构

当项目变大时,类型标注可以提升可维护性。一个常见结构:

my-project/
├── src/
│ └── app/
│ ├── main.py
│ └── services/
├── tests/
├── pyproject.toml (或 requirements.txt)
└── README.md

类型检查工具常见包括 mypy(可按需启用)。


九、第三方库与包管理

requirements.txt

安装依赖:

pip install requests

生成依赖清单:

pip freeze > requirements.txt

在新环境安装:

pip install -r requirements.txt

常用库举例

  • requests:发 HTTP 请求
  • pydantic:数据校验与结构化(FastAPI 经常用)
  • httpx:现代 HTTP 客户端(异步友好)

十、Web 入门(FastAPI)

安装

pip install fastapi uvicorn

最小服务

创建 main.py

from fastapi import FastAPI

app = FastAPI()

@app.get("/health")
def health():
return {"ok": True}

启动服务:

uvicorn main:app --reload --port 8000

访问:http://localhost:8000/health


十一、测试与调试

安装 pytest

pip install -U pytest

写测试示例:tests/test_main.py

def test_add():
assert 1 + 1 == 2

运行:

pytest

调试小技巧

  • 使用 print() 快速定位问题
  • 必要时使用 logging 代替 print(更可控)
  • Python 可直接用 breakpoint() 进入调试

十二、部署与小结

部署思路

  • 使用虚拟环境或容器打包依赖
  • 保证环境变量(如数据库连接串)在部署平台配置
  • 生产环境通常用 uvicorn + 反向代理(如 Nginx)

小结

  • Python 基础:语法、数据类型、控制流
  • 工程能力:虚拟环境、requirements、项目结构
  • Web:FastAPI + uvicorn 快速起服务
  • 质量:pytest 做测试

十三、学习路径小结

  1. 学会变量、函数、循环与常见数据结构
  2. 逐步引入类型标注,让代码更易维护
  3. 熟悉虚拟环境与依赖管理(requirements)
  4. 做一个简单 Web 服务(FastAPI)
  5. 写至少几条测试(pytest),再逐步扩展项目

遇到问题可查阅 Python 官方文档 与社区示例。

Loading Comments...