Python 的内置函数(built-in functions)是 Python 解释器自带的“工具箱”,无需 import 任何模块就能直接调用。它们是 Python 高效、简洁风格的核心支柱。
截至 2026 年(Python 3.12–3.14 系列),官方文档中共有约 70 个内置函数,但真正每天高频使用 + 面试/项目必备的核心函数大约在25–35 个之间。
下面精选30 个最核心、最实用的内置函数(按使用频率 + 重要性粗略排序),附带:
- 基本语法
- 经典/实用案例
- 2025–2026 最佳实践 & 小陷阱
1–10:最基础 & 最常用(几乎每天都会碰)
print(*objects, sep=' ', end='\n', file=None, flush=False)- 案例:
print("age:", 25, "city", "LV", sep=" | ")→ age: | 25 | city | LV - 最佳:用 f-string 替代 90% 的 print;调试时用
print(f"{var=}")(3.8+)
- 案例:
len(s)- 支持:str/list/tuple/dict/set/range 等
- 陷阱:不适用于生成器/迭代器(需先 list() 或 consume)
type(obj)/isinstance(obj, classinfo)/issubclass()- 最佳:永远优先用
isinstance(x, (int, float))而不是type(x) is int
- 最佳:永远优先用
input([prompt])→ str- 陷阱:Python 3 中永远返回 str,记得
int(input())/float(input())
- 陷阱:Python 3 中永远返回 str,记得
range(start, stop[, step])- 内存友好(不生成列表)
- 最佳:
for i in range(len(lst)-1):→ 改用enumerate或zip
sum(iterable[, start])- 最佳:数值列表用
sum();字符串别用(用 ‘’.join())
- 最佳:数值列表用
max(iterable, *[, key, default])/min()- 案例:
max(users, key=lambda u: u['age'])
- 案例:
sorted(iterable, /, *, key=None, reverse=False)- 关键:返回新列表,原地排序用
list.sort() - 最佳:
sorted(data.items(), key=lambda x: x[1], reverse=True)
- 关键:返回新列表,原地排序用
abs(x)→ 绝对值(支持 int/float/complex)round(number, ndigits=None)- 陷阱:银行家舍入(4 舍 6 入 5 取偶)
- 最佳:金融场景用
decimal模块
11–20:迭代神器 & 函数式编程(写优雅代码的关键)
enumerate(iterable, start=0)- 最佳:
for i, v in enumerate(lst, 1):(从 1 开始编号)
- 最佳:
zip(*iterables, strict=False)(3.10+ strict)- 案例:
names, scores = zip(*sorted(zip(names, scores), key=lambda x:x[1]))
- 案例:
map(function, iterable, ...)- 最佳:
list(map(int, input().split()))或list(map(str.strip, lines))
- 最佳:
filter(function, iterable)- 最佳:现在多用列表推导式
[x for x in lst if cond]更可读
- 最佳:现在多用列表推导式
all(iterable)/any(iterable)- 经典:
if all(x > 0 for x in nums):/if any(isinstance(x, str) for x in row):
- 经典:
reversed(seq)- 只对 sequence 有效(list/tuple/str/range);生成器用
reversed(list(gen))或自己写
- 只对 sequence 有效(list/tuple/str/range);生成器用
iter(object[, sentinel])- 高级:
for line in iter(input, 'q'):(输入 q 退出)
- 高级:
next(iterator[, default])- 最佳:安全取第一个元素
next(iter(lst), None)
- 最佳:安全取第一个元素
list()/tuple()/set()/dict()- 转换神器
str(object='')/repr(object)/ascii(object)- 最佳:调试用
repr(),日志/显示用str()
- 最佳:调试用
21–30:进阶 & 实用工具函数
open(file, mode='r', buffering=-1, encoding=None, ...)- 最佳:永远用
with open(..., encoding='utf-8') as f:
- 最佳:永远用
dir([object])→ 属性列表- 调试神器:
dir([])看 list 有哪些方法
- 调试神器:
help([object])- 交互式文档
id(object)→ 内存地址- 理解 is / == 区别
hash(object)→ 哈希值- 陷阱:自定义类要实现
__hash__且可哈希
- 陷阱:自定义类要实现
pow(base, exp[, mod])- 三参数时是高效模幂运算(密码学常用)
divmod(a, b)→ (商, 余数)- 案例:
quot, rem = divmod(2026, 60)
- 案例:
bin(x)/oct(x)/hex(x)- 前缀 ‘0b’/‘0o’/‘0x’
chr(i)/ord(c)- Unicode 转换(处理 emoji、中文很方便)
__import__()(极少直接用)- 动态导入模块(框架底层常用)
快速记忆口诀(2026 版高频 Top 15)
print → len → type → range → sum/max/min/sorted enumerate → zip → map/filter/all/any input → open → str/int/float/list/tuple/set/dict推荐学习路径(小白 → 熟练)
- 先彻底掌握 1–10
- 熟练使用 enumerate + zip + map/filter + all/any(写出 Pythonic 代码)
- 日常调试必备:dir / help / repr / vars
- 进阶:理解 iter/next/generator 与 reversed 的区别
你平时最常忘/用错的是哪几个内置函数?
或者你想深入看某个函数的更多黑魔法用法(比如getattr/setattr/eval/exec/compile等危险但强大的),可以告诉我,我再展开~