Python 速查表
一份可搜索、可打印的 Python 3 参考——语法、数据结构、推导式、函数、类、文件和标准库。免费。
变量与类型
10x = 1
赋值变量(动态类型)
x: int = 1
可选类型注解
a, b = 1, 2
多重赋值
type(x)
获取值的类型
int('42')
将字符串转换为整数
str(42)
将值转换为字符串
isinstance(x, int)
类型检查
None
null / 缺省值
x = y = 0
链式赋值
PI: Final = 3.14
常量提示(typing.Final)
字符串
11f'Hello {name}'
f-string 插值
len(s)
字符串长度
s.upper()
转换为大写
s.strip()
去除两端空白
s.split(',')
拆分为列表
','.join(items)
用分隔符连接列表
s.replace('a', 'b')
替换子串
'a' in s
成员测试
s[1:4]
切片字符 1 到 3
s[::-1]
反转字符串
s.startswith('a')
检查前缀
列表与元组
10a = [1, 2, 3]
创建列表
a.append(4)
在末尾添加元素
a.insert(0, x)
在指定索引插入
a.pop()
移除并返回最后一个元素
a[1:3]
切片子列表
sorted(a, reverse=True)
返回排序后的副本
a.sort(key=len)
按键就地排序
len(a)
元素数量
t = (1, 2)
不可变元组
first, *rest = a
用星号解包
字典与集合
10d = {'k': 'v'}
创建字典
d['k']
按键访问值
d.get('k', default)
带回退地获取
d.keys() / d.values()
查看键或值
d.items()
遍历键/值对
{**a, **b}
合并字典
a | b
字典/集合并集运算符
del d['k']
删除键
s = {1, 2, 3}
创建集合(唯一值)
set(a) & set(b)
集合交集
推导式
8[x * 2 for x in a]
列表推导式
[x for x in a if x > 0]
带过滤的推导式
{x: x**2 for x in a}
字典推导式
{x for x in a}
集合推导式
(x for x in a)
生成器表达式(惰性)
[y for row in m for y in row]
用嵌套循环扁平化
[a if c else b for x in items]
推导式中的条件值
sum(x for x in a)
对生成器进行聚合
控制流
9if x > 0:\n ...
条件(缩进很重要)
elif / else:
附加分支
a if cond else b
三元表达式
for x in range(10):
遍历 range
for i, x in enumerate(a):
带索引循环
for a, b in zip(x, y):
同时遍历两个可迭代对象
while cond:
条件为真时循环
break / continue
退出或跳过一次迭代
match x:\n case 1: ...
结构化模式匹配(3.10+)
函数
8def f(a, b=1): return a + b
带默认参数的函数
def f(*args, **kwargs):
可变位置参数 + 关键字参数
f(name='Sam')
用关键字参数调用
lambda x: x + 1
匿名内联函数
def f(a: int) -> int:
参数和返回值的类型提示
@decorator
用装饰器包装函数
yield value
从生成器产出值
global x / nonlocal x
重新绑定外层作用域变量
类
9class A(Base):
带继承的类
def __init__(self, x):
构造函数 / 初始化器
self.x = x
实例属性
def __str__(self):
字符串表示
@property
计算得到的只读属性
@staticmethod / @classmethod
静态方法和类方法
super().__init__()
调用父类初始化器
@dataclass
自动生成 init/repr/eq
isinstance(obj, A)
检查实例类型
文件、错误与模块
9with open('f.txt') as fh:
打开文件(自动关闭)
fh.read() / fh.readlines()
读取文件内容
open('f.txt', 'w').write(s)
写入文件
try:\n ...\nexcept ValueError as e:
捕获特定异常
raise ValueError('bad')
抛出异常
finally:
总会运行的清理块
import os
导入模块
from math import sqrt
导入特定名称
import numpy as np
以别名导入
没有条目匹配“:q”。
需要帮助?
使用此工具时遇到问题?请告诉我们的团队。