Python 入门
2026-03-07 22:28:06

面向初学到进阶过渡:少讲语法清单,多讲执行模型与工程习惯。

1. Python 是怎么执行的

  • Python 是解释执行,但通常先编译为字节码(pyc)再由虚拟机执行。
  • 变量是“名称绑定对象”,不是“盒子装值”。
  • 一切皆对象:intstrlist、函数、类都可被传递。
1
2
3
4
x = [1, 2]
y = x
y.append(3)
print(x) # [1, 2, 3],因为 x/y 指向同一对象

2. 必懂语法与常见坑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 缩进定义代码块(推荐 4 空格)
if True:
print("ok")

# 可变默认参数坑

def bad(v, acc=[]):
acc.append(v)
return acc

# 正确写法

def good(v, acc=None):
if acc is None:
acc = []
acc.append(v)
return acc

要点:

  • 比较 Noneis,不是 ==
  • 浮点计算用 math.isclose 比较,不直接 ==

3. 数据结构选择(性能关键)

  • list:有序,可重复,尾部追加快。
  • dict:键值查找快,日常主力结构。
  • set:去重和成员判断快。
  • tuple:不可变,适合配置/常量语义。

经验法则:

  • 需要“是否存在”判断时优先 set/dict,避免在 list 里线性扫描。

4. 异常处理要“窄捕获”

1
2
3
4
try:
value = int(text)
except ValueError:
value = 0
  • 只捕获你能处理的异常类型。
  • 不要无脑 except Exception: pass,会吞掉真实问题。

5. 函数与类型标注(可维护性)

1
2
def area(width: float, height: float) -> float:
return width * height
  • 类型标注不改变运行时行为,但显著提升可读性、补全和静态检查质量。

6. 工程实践最小集合

  • 使用虚拟环境隔离依赖:python -m venv .venv
  • 固定依赖版本,避免“我这能跑你那不行”。
  • 写最小单元测试覆盖核心逻辑。
  • 日志代替 print,并区分 info/warning/error

7. 一条实用学习路径

  1. 语法基础(分支/循环/函数)
  2. 数据结构与异常
  3. 文件 I/O、JSON、网络请求
  4. 测试与项目结构
  5. 选一个方向深入(Web/数据/自动化)