# Python 核心语法 本章节深入探讨 Python 核心语法中容易被忽视或误解的知识点,帮助你写出更加 Pythonic 的代码。 ```{toctree} :maxdepth: 2 data_model functions oop iterators context_managers decorators typing ``` ## 核心概念速览 ### 一切皆对象 Python 中一切皆对象,包括函数、类、模块。理解这一点是掌握 Python 的关键: ```python # 函数也是对象,可以赋值给变量 def greet(name): return f"Hello, {name}!" say_hello = greet # 函数赋值给变量 print(say_hello("World")) # Hello, World! # 函数可以作为参数传递 def apply_twice(func, arg): return func(func(arg)) def add_one(x): return x + 1 print(apply_twice(add_one, 5)) # 7 ``` ### 动态类型 vs 鸭子类型 ```python # 动态类型:变量类型在运行时确定 x = 10 # int x = "hello" # 现在是 str # 鸭子类型:关注行为而非类型 class Duck: def quack(self): print("Quack!") class Person: def quack(self): print("I'm pretending to be a duck!") def make_it_quack(thing): thing.quack() # 不关心具体类型,只要有 quack 方法 make_it_quack(Duck()) # Quack! make_it_quack(Person()) # I'm pretending to be a duck! ``` ## 本章重点 ::::{grid} 2 :gutter: 2 :::{grid-item-card} 数据模型 理解 Python 对象模型,掌握 `__init__`、`__repr__`、`__eq__` 等魔法方法。 ::: :::{grid-item-card} 函数进阶 闭包、装饰器、`*args`/`**kwargs`、函数式编程。 ::: :::{grid-item-card} 面向对象 继承、多态、描述符、元类。 ::: :::{grid-item-card} 迭代器与生成器 惰性计算、内存优化、生成器表达式。 ::: ::::