1. Python 核心语法
本章节深入探讨 Python 核心语法中容易被忽视或误解的知识点,帮助你写出更加 Pythonic 的代码。
1.8. 核心概念速览
1.8.1. 一切皆对象
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
1.8.2. 动态类型 vs 鸭子类型
# 动态类型:变量类型在运行时确定
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!
1.9. 本章重点
数据模型
理解 Python 对象模型,掌握 __init__、__repr__、__eq__ 等魔法方法。
函数进阶
闭包、装饰器、*args/**kwargs、函数式编程。
面向对象
继承、多态、描述符、元类。
迭代器与生成器
惰性计算、内存优化、生成器表达式。