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、函数式编程。

面向对象

继承、多态、描述符、元类。

迭代器与生成器

惰性计算、内存优化、生成器表达式。