Python内置函数总结
前言
Python 内置函数 是解释器预定义的一组基础函数,无需导入任何模块即可直接使用。它们提供了编程中最常用的基础功能,涵盖数据类型处理、数学运算、迭代控制、反射与元编程等场景。
这些内置函数是 Python 编程中高效开发的重要工具,能够帮助我们更便捷地完成常见任务。
部分常用内置函数
1. print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- 用途:输出内容到控制台或文件。
- 示例:
print("Hello", "World", sep=", ", end="!") # 输出:Hello, World! with open("output.txt", "w") as f: print("Hello, File!", file=f) # 会在 output.txt 文件中写入 "Hello, File!"
- 注意事项:
默认用空格分隔多个参数,换行符结尾。
file
参数可重定向到文件(如open('log.txt', 'w')
)。
flush=True
会强制立即刷新输出缓冲区(常用于实时日志)。
2. len(obj)
- 用途:返回对象的元素总数(如字符串、列表、字典)。
- 示例:
len([1, 2, 3]) # 返回 3 len({"name": "小美", "age": 20}) # 返回 2(键的数量)
- 注意事项:
自定义类需实现__len__
方法才能支持len()
。
3. range(start, stop, step)
- 用途:生成不可变的整数序列,常用于循环。
- 示例:
list(range(1, 10, 2)) # 生成 [1, 3, 5, 7, 9]
- 注意事项:
Python 3 中返回迭代器而非列表,需用list()
转换查看内容。
4. input(prompt='')
- 用途:从用户输入读取字符串。
- 示例:
name = input("Enter your name: ") # 输入内容赋值给变量
- 注意事项:
输入内容始终为字符串,需用int()
或float()
转换数值类型。
5. int(x, base=10)
/ float(x)
/ str(obj)
- 用途:类型转换。
- 示例:
int("42") # 42(字符串转整数) float("3.14") # 3.14(字符串转浮点数) str(100) # "100"(整数转字符串)
- 注意事项:
int("3.14")
会报错(需先转浮点再转整型)。
base
参数支持进制转换(如int('1010', 2)
→ 10)。
6. sum(iterable, start=0)
- 用途:计算可迭代对象中所有元素的和。
- 示例:
sum([1, 2, 3]) # 6 sum([[1], [2]], []) # [1, 2](拼接列表)
- 注意事项:
元素需支持加法操作,否则报错(如字符串列表需手动拼接)。
7. max(iterable, *[, key])
/ min(...)
- 用途:返回可迭代对象中的最大/最小值。
- 示例:
max([3, 1, 4], key=lambda x: -x) # 返回最小值 1(通过 key 反转比较)
- 注意事项:
空迭代对象会报错ValueError
。
8. sorted(iterable, key=None, reverse=False)
- 用途:返回排序后的新列表(原对象不变)。
- 示例:
sorted(["apple", "Banana"], key=str.lower) # ["apple", "Banana"]
- 注意事项:
对字典排序时默认按键操作(如sorted(my_dict)
)。
9. enumerate(iterable, start=0)
- 用途:为可迭代对象生成(索引, 值)元组。
- 示例:
for i, item in enumerate(["a", "b"], 1): print(i, item) # 输出 1 a, 2 b
10. open(file, mode='r', encoding=None)
- 用途:打开文件并返回文件对象。
- 示例:
with open("data.txt", "w", encoding="utf-8") as f: f.write("Hello")
- 注意事项:
使用with
语句确保文件自动关闭。
常用模式r
(读)、w
(覆盖写)、a
(追加)、b
(二进制模式)。
Python内置函数总结表格
以下是 Python 3.13 中内置函数的分类列表(基本涵盖所有内置函数):
(基于 Python 3.12 及早期版本的官方文档整理,部分可能因版本更新调整)
一、核心基础函数
函数 | 用途说明 |
---|---|
abs(x) | 返回数值的绝对值(支持整型、浮点型、复数) |
all(iterable) | 若可迭代对象中所有元素为真,返回 True ,否则 False |
any(iterable) | 若可迭代对象中任意元素为真,返回 True ,否则 False |
callable(obj) | 判断对象是否可调用(如函数、类或实例) |
delattr(obj, name) | 删除对象的属性(等效于 del obj.name ) |
dir([obj]) | 返回对象的属性列表,无参数时返回当前作用域名称列表 |
enumerate(iterable, start=0) | 生成(索引, 值)元组的迭代器 |
filter(function, iterable) | 返回满足条件的元素迭代器 |
globals() | 返回当前全局符号表(字典形式) |
hasattr(obj, name) | 检查对象是否包含指定属性 |
hash(obj) | 返回对象的哈希值(仅不可变对象有效) |
id(obj) | 返回对象的内存地址(唯一标识) |
isinstance(obj, classinfo) | 判断对象是否为某个类/其子类的实例 |
issubclass(cls, classinfo) | 判断类是否为另一个类的子类 |
iter(obj) | 返回对象的迭代器 |
len(obj) | 返回容器对象的元素数量 |
locals() | 返回当前局部符号表(字典形式) |
map(function, iterable) | 应用函数生成结果迭代器 |
max(iterable, *[, key]) | 返回可迭代对象中的最大值(支持自定义 key 函数) |
min(iterable, *[, key]) | 返回可迭代对象中的最小值 |
next(iterator) | 获取迭代器的下一个元素 |
print(*objects, sep=' ', end='\n') | 打印输出到控制台 |
range(start, stop, step) | 生成不可变的整数序列 |
repr(obj) | 返回对象的“官方”字符串表示(通常可用于 eval() 重建) |
reversed(seq) | 返回反向迭代器 |
round(number, ndigits) | 四舍五入到指定小数位(注意浮点数精度问题) |
setattr(obj, name, value) | 设置对象属性(等效于 obj.name = value ) |
sorted(iterable, key=None, reverse=False) | 返回排序后的新列表 |
sum(iterable, start=0) | 计算可迭代对象的元素总和 |
type(obj) | 返回对象的类型 |
vars([obj]) | 返回对象的 __dict__ 属性(若无参数则等同于 locals() ) |
zip(*iterables) | 将多个可迭代对象的元素按位置打包成元组迭代器 |
slice(start, stop, step) | 创建切片对象(用于高级索引操作) |
二、类型转换函数
函数 | 用途说明 |
---|---|
ascii(obj) | 返回对象的 ASCII 安全表示(非 ASCII 字符转义) |
bin(x) | 将整数转换为二进制字符串(前缀 0b ) |
bool(x) | 转换为布尔类型(True 或 False ) |
bytearray([source, encoding]) | 创建可变的字节数组 |
bytes([source, encoding]) | 创建不可变的字节序列 |
chr(i) | 返回 Unicode 码点 i 对应的字符(0 <= i <= 0x10FFFF ) |
complex(real, imag) | 创建复数对象(如 complex(3, 4) → 3+4j ) |
dict(**kwargs) | 创建字典 |
float(x) | 转换为浮点数 |
format(value, format_spec) | 格式化值为字符串(如 format(3.1415, '.2f') → '3.14' ) |
frozenset(iterable) | 创建不可变集合 |
hex(x) | 将整数转换为十六进制字符串(前缀 0x ) |
int(x, base=10) | 转换为整数(支持进制转换) |
list(iterable) | 创建列表 |
oct(x) | 将整数转换为八进制字符串(前缀 0o ) |
ord(c) | 返回字符的 Unicode 码点(chr 的逆操作) |
set(iterable) | 创建集合 |
str(obj) | 转换为字符串 |
tuple(iterable) | 创建元组 |
三、函数与类操作
函数 | 用途说明 |
---|---|
classmethod(func) | 将函数转换为类方法(通过装饰器 @classmethod 使用) |
staticmethod(func) | 将函数转换为静态方法(通过装饰器 @staticmethod 使用) |
property(fget, fset, fdel) | 定义属性访问逻辑(用于装饰器或类中) |
super([type[, obj]]) | 调用父类或兄弟类的方法(用于继承场景) |
type(name, bases, dict) | 动态创建类(元类编程) |
getattr(obj, name) | 获取对象属性值(支持默认值) |
四、数学与逻辑运算
函数 | 用途说明 |
---|---|
divmod(a, b) | 返回商和余数的元组(如 divmod(10, 3) → (3, 1) ) |
pow(base, exp[, mod]) | 计算幂运算(等效于 base**exp % mod ) |
五、系统与调试
函数 | 用途说明 |
---|---|
breakpoint() | 触发调试器断点(默认调用 pdb.set_trace() ) |
exec(object) | 动态执行代码字符串(如 exec('print("Hello")') ) |
eval(expression) | 计算表达式并返回结果(如 eval('3 + 5') → 8 ) |
input([prompt]) | 读取用户输入(返回字符串) |
open(file, mode) | 打开文件并返回文件对象 |
quit() / exit() | 退出解释器(通常在交互式环境中使用) |
六、异步与生成器
函数 | 用途说明 |
---|---|
aiter(async_iterable) | 返回异步迭代器(用于 async for 循环) |
anext(async_iterator) | 获取异步迭代器的下一个元素(需配合 await 使用) |
memoryview(obj) | 创建内存视图对象(高效处理二进制数据块) |
object() | 创建基础对象实例(所有类的基类) |
七、其他函数
函数 | 用途说明 |
---|---|
__import__(name) | 动态导入模块(通常建议使用 importlib 替代) |
bytes.decode() | 字节解码为字符串(直接通过字节对象方法调用) |
compile(source, filename, mode) | 将代码编译为可执行对象(需谨慎使用) |
help([object]) | 启动帮助系统(交互式环境中使用) |
说明:
- 总数统计:Python 3.13 的内置函数约 70+(根据官方文档动态调整)。
- 新增与弃用:不同版本可能增减函数(如 Python 3.10 新增
aiter
和anext
)。 - 安全警告:避免滥用
eval()
、exec()
和__import__
,可能导致代码注入风险。 - 版本差异:部分函数行为可能随版本变化(如
round()
的银行家舍入规则)。
如需特定函数的详细用法或示例,可根据表中函数名称查阅官方文档。