【Python 内置函数】
Python 内置函数是语言核心功能的直接体现,无需导入即可使用。以下是精选的 10 大类、50+ 核心内置函数详解,涵盖日常开发高频场景:
一、数据类型转换
| 函数 | 示例 | 说明 | 
|---|---|---|
| int() | int("123")→ 123 | 字符串/浮点数转整数 | 
| float() | float("3.14")→ 3.14 | 字符串/整数转浮点数 | 
| str() | str(42)→ “42” | 任意类型转字符串 | 
| bool() | bool(0)→ False | 0/None/空序列转False,其他True | 
| list() | list("abc")→ [‘a’,‘b’,‘c’] | 可迭代对象转列表 | 
| tuple() | tuple([1,2,3])→ (1,2,3) | 可迭代对象转元组 | 
| dict() | dict([('a',1)])→ {‘a’:1} | 键值对序列转字典 | 
| set() | set([1,1,2])→ {1,2} | 可迭代对象转集合(去重) | 
二、数学运算
| 函数 | 示例 | 说明 | 
|---|---|---|
| abs() | abs(-5)→ 5 | 绝对值 | 
| round() | round(3.1415, 2)→ 3.14 | 四舍五入 | 
| max() | max(3,5,1)→ 5 | 最大值(支持多参数/可迭代对象) | 
| min() | min([4,2,7])→ 2 | 最小值 | 
| sum() | sum([1,2,3])→ 6 | 求和 | 
| pow() | pow(2,3)→ 8 | 幂运算(等价于2**3) | 
| divmod() | divmod(10,3)→ (3,1) | 返回商和余数的元组 | 
三、序列操作
| 函数 | 示例 | 说明 | 
|---|---|---|
| len() | len([1,2,3])→ 3 | 序列/集合长度 | 
| sorted() | sorted([3,1,2])→ [1,2,3] | 返回排序后的新列表 | 
| reversed() | list(reversed([1,2,3]))→ [3,2,1] | 反向迭代器 | 
| enumerate() | list(enumerate(['a','b']))→ [(0,‘a’),(1,‘b’)] | 枚举索引和值 | 
| zip() | list(zip([1,2], ['a','b']))→ [(1,‘a’),(2,‘b’)] | 合并多个序列 | 
| slice() | s = slice(1,5); [0,1,2,3,4][s]→ [1,2,3,4] | 切片对象 | 
四、函数工具
| 函数 | 示例 | 说明 | 
|---|---|---|
| map() | list(map(str.upper, ['a','b']))→ [‘A’,‘B’] | 映射函数到序列 | 
| filter() | list(filter(lambda x:x%2==0, [1,2,3]))→ [2] | 过滤序列元素 | 
| reduce() | from functools import reduce; reduce(lambda x,y:x+y, [1,2,3])→ 6 | 累积计算(需导入) | 
| lambda | lambda x: x*2→ 匿名函数 | 快速定义简单函数 | 
五、对象查询
| 函数 | 示例 | 说明 | 
|---|---|---|
| type() | type(42)→<class 'int'> | 返回对象类型 | 
| isinstance() | isinstance([], list)→ True | 检查对象类型继承关系 | 
| dir() | dir([])→ 列表方法列表 | 返回对象属性和方法列表 | 
| id() | id(42)→ 内存地址 | 返回对象唯一标识符 | 
| hash() | hash("key")→ 哈希值 | 返回对象的哈希值(要求不可变) | 
六、输入输出
| 函数 | 示例 | 说明 | 
|---|---|---|
| print() | print("Hello")→ 输出到控制台 | 基础输出函数 | 
| input() | input("提示:")→ 用户输入 | 从标准输入读取字符串 | 
| open() | open('file.txt', 'r')→ 文件对象 | 打开文件(需配合with使用) | 
七、高级工具
| 函数 | 示例 | 说明 | 
|---|---|---|
| eval() | eval("2+3")→ 5 | 执行字符串表达式(谨慎使用) | 
| exec() | exec("print('hello')") | 执行字符串代码(谨慎使用) | 
| globals() | 返回全局变量字典 | 查看/修改全局作用域 | 
| locals() | 返回局部变量字典 | 查看/修改局部作用域 | 
| help() | help(list)→ 显示文档 | 获取对象帮助信息 | 
八、使用技巧
-  类型转换陷阱: int("123a") # 抛出 ValueError bool([]) # 空列表转False,非空列表转True
-  性能优化: - 优先使用 map()/filter()替代列表推导式处理大数据
- 避免在循环中频繁调用 len()(预存结果)
 
- 优先使用 
-  函数式编程: # 组合函数 func = lambda x: x**2 processed = map(func, [1,2,3])
九、经典面试题
Q:如何交换两个变量的值?
a, b = b, a  # 无需临时变量
Q:如何判断对象是否可迭代?
from collections.abc import Iterable
isinstance(obj, Iterable)
掌握这些内置函数可覆盖 80% 的日常开发需求。对于复杂场景(如高性能计算),可结合 itertools、functools 等标准库模块进一步扩展功能。
