跳到正文
Joeplover
学习笔记·2026-06-19·约 2 分钟阅读

Python 迷惑语法扫盲

列表推导式、*args/kwargs、lambda、生成器、装饰器、切片、深浅拷贝等 Python 核心语法详解。

Python 语法

DAY01b — Python 迷惑语法扫盲

相关笔记:[[DAY01-成长计划启动]] | [[DAY01c-策略模式]] | [[DAY01d-HTTP拦截与CookieSession]] 相关主题:[[Python基础]]

今日内容

列表推导式

[x * 2 for x in range(10) if x % 2 == 0]

阅读顺序:从右往左 — for x in range(10) → if x % 2 == 0 → x * 2

*args / **kwargs

def func(*args, **kwargs):
    pass  # args = 元组, kwargs = 字典

lambda

add = lambda x, y: x + y

enumerate / zip

for i, v in enumerate(list):
for a, b in zip(list1, list2):

yield 生成器

def gen():
    for i in range(10):
        yield i  # 惰性求值,一次出一个

with 上下文管理器

with open("file.txt") as f:
    data = f.read()  # 自动关闭

装饰器

def timer(func):
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        print(f"耗时: {time.time() - start}")
        return result
    return wrapper

类型注解

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

[::] 切片

s[start:stop:step]
s[::-1]  # 反转
s[:5]    # 前5个
s[-3:]   # 后3个

深浅拷贝

b = a           # 引用(贴标签)
b = a.copy()    # 浅拷贝(外壳新,里面同)
b = copy.deepcopy(a)  # 深拷贝(全部独立)

代码文件

  • Day01.code/python_essentials.py
  • Day01.code/list_comprehension.py