Python 内置函数概览
内置函数在解释器启动时已可用,无需 import。builtins 模块里还包含 True / False / None、异常类型等;日常说的「内置函数」一般指下面表格中的可调用对象。
查看说明:help(函数名)(如 help(sorted))。完整、随版本更新的说明以官方文档为准:内置函数。
与自定义函数的关系见 函数。
按用途分类(速查)
下列为 Python 3 中常见的内置函数/类型构造(名称与分组便于记忆,与教程习惯一致)。
类型构造与转换
| 名称 | 简要说明 |
|---|---|
bool | 布尔类型 |
int | 整数;支持 int(s, base) |
float | 浮点数 |
complex | 复数 |
str | 字符串 |
bytes | 不可变字节序列 |
bytearray | 可变字节序列 |
list | 列表 |
tuple | 元组 |
dict | 字典 |
set | 集合 |
frozenset | 不可变集合 |
slice | 切片对象 |
object | 所有类的基类 |
type | 取类型,或三参数动态建类 |
序列与迭代
| 名称 | 简要说明 |
|---|---|
len | 长度 |
range | 整数序列 |
enumerate | 带下标迭代 |
zip | 并行迭代,聚合为元组 |
map | 映射为迭代器 |
filter | 按条件过滤 |
reversed | 逆序迭代器 |
sorted | 排序,返回新列表 |
iter | 获取迭代器;双参数形式带哨兵 |
next | 迭代器下一项 |
aiter | 异步可迭代 → 异步迭代器(3.10+) |
anext | 异步迭代器下一项(3.10+) |
sum | 求和,可选 start |
min / max | 最小 / 最大 |
all / any | 全真 / 存在真;空可迭代:all 为 True,any 为 False |
数学与进制
| 名称 | 简要说明 |
|---|---|
abs | 绝对值;复数为模 |
divmod | 商与余数 |
pow | 幂;三参数时为模幂 |
round | 四舍五入(银行家舍入等细节见文档) |
bin / oct / hex | 整数的二 / 八 / 十六进制字符串(带前缀) |
chr / ord | 码点 ↔ 单字符字符串 |
对象与命名空间
| 名称 | 简要说明 |
|---|---|
id | 对象标识(实现相关整数) |
hash | 哈希值(若可哈希) |
repr | 解释器友好字符串 |
ascii | 类似 repr,非 ASCII 用转义 |
format | 格式化(format(obj, spec)) |
vars | __dict__;无参时类似 locals() |
dir | 属性列表 |
getattr / setattr / delattr | 按名字访问属性 |
hasattr | 是否有属性 |
isinstance / issubclass | 类型检查 |
super | 调用父类描述符 |
callable | 是否可调用 |
globals / locals | 全局 / 局部命名空间字典 |
类与描述符相关
| 名称 | 简要说明 |
|---|---|
classmethod | 类方法装饰器 |
staticmethod | 静态方法装饰器 |
property | 属性装饰器 |
输入输出与调试
| 名称 | 简要说明 |
|---|---|
print | 输出 |
input | 读取一行输入,返回字符串 |
open | 打开文件,返回流对象 |
help | 交互式帮助 |
breakpoint | 进入调试器(等价于 import pdb; pdb.set_trace() 的入口,可配置) |
代码对象与动态执行(慎用)
| 名称 | 简要说明 |
|---|---|
compile | 编译源码为代码对象 |
eval | 求值表达式字符串,有安全风险 |
exec | 执行代码字符串或代码对象,有安全风险 |
__import__ | 实现 import 的钩子,一般不直接调用 |
其他
| 名称 | 简要说明 |
|---|---|
memoryview | 不复制地访问缓冲区 |
说明:交互环境里 quit / exit、copyright 等也由 site 等机制挂入,一般不列入「必背内置函数」;NotImplemented 等是常量,不是函数。
常用示例(正确写法)
all / any
python
print(all([1, 2, 3])) # True
print(all([])) # True(空可迭代)
print(any([0, "", None])) # False
print(any([0, 1])) # True元素真假规则与 布尔上下文 一致。
abs / bin / hex
python
print(abs(-10))
print(abs(3 + 4j))
print(bin(7)) # 0b111
print(hex(255)) # 0xff,前缀是 0x 不是「句点」enumerate / zip
python
for i, c in enumerate("abc"):
print(i, c)
print(list(zip([1, 2, 3], ["a", "b"]))) # 以较短为准sorted / min / max
python
print(sorted([3, 1, 2]))
print(sorted("cba"))
print(min([5, 2, 8], key=abs))isinstance
python
print(isinstance({1, 2}, set))
print(isinstance(3, (int, float)))第二个参数可为类型元组。
open(建议配合 with)
python
with open("README.md", "r", encoding="utf-8") as f:
first = f.readline()str / bytes
python
s = str(b"hi", encoding="utf-8")
b = bytes("你好", encoding="utf-8")安全提示
eval/exec:不要对用户输入或不可信字符串直接使用。__import__:优先写正常import;动态导入可用importlib.import_module。
小结
- 内置函数以官方列表为准;本文分类速查 + 少量示例,避免冗长且易错的逐条机翻。
- 新函数(如
aiter/anext)以当前 Python 版本文档为准。