Python3 内置函数详解

Python3 提供了大量内置函数(Built-in Functions),这些函数无需导入任何模块即可直接使用,覆盖了类型转换、数学运算、序列操作、迭代处理等多种场景,是 Python 编程的基础工具。本文按功能分类详解常用内置函数,包含语法、参数、示例及使用场景。

一、类型转换函数

用于在不同数据类型之间进行转换,是处理数据的基础工具。

函数功能描述语法示例
int() 将数据转为整数(默认十进制) int(x, base=10) int("123") → 123int("1010", 2) → 10(二进制转十进制)
float() 将数据转为浮点数 float(x) float("3.14") → 3.14float(5) → 5.0
str() 将数据转为字符串 str(x) str(123) → "123"str([1,2]) → "[1, 2]"
bool() 将数据转为布尔值(0/None/ 空对象为 False) bool(x) bool(0) → Falsebool([1]) → True
list() 将可迭代对象转为列表 list(iterable) list((1,2,3)) → [1,2,3]list("abc") → ["a","b","c"]
tuple() 将可迭代对象转为元组 tuple(iterable) tuple([1,2,3]) → (1,2,3)
dict() 创建字典(可通过键值对或映射对象) dict(**kwargs) 或 dict(iterable) dict(a=1, b=2) → {"a":1, "b":2}dict([("a",1)]) → {"a":1}
set() 将可迭代对象转为集合(去重) set(iterable) set([1,2,2,3]) → {1,2,3}
bytes() 将数据转为字节序列(二进制) bytes(x, encoding="utf-8") bytes("中文", "utf-8") → b'\xe4\xb8\xad\xe6\x96\x87'

二、数学运算函数

用于基本数学计算,无需导入math模块即可使用。

函数功能描述语法示例
abs() 返回数值的绝对值 abs(x) abs(-5) → 5abs(3.14) → 3.14
max() 返回可迭代对象中的最大值(或多个参数的最大值) max(iterable) 或 max(a, b, ...) max([1,3,2]) → 3max(1,5,3) → 5
min() 返回可迭代对象中的最小值(或多个参数的最小值) min(iterable) 或 min(a, b, ...) min([1,3,2]) → 1min(1,5,3) → 1
sum() 计算可迭代对象中元素的总和(支持起始值) sum(iterable, start=0) sum([1,2,3]) → 6sum([1,2], 10) → 13
pow() 计算xy次方(可选取模) pow(x, y, mod=None) pow(2, 3) → 8pow(2, 3, 5) → 3(8 mod 5=3)
round() 对数值四舍五入(保留指定小数位数) round(x, ndigits=None) round(3.1415) → 3round(3.1415, 2) → 3.14

三、序列 / 集合操作函数

用于处理列表、元组、字符串等可迭代对象,是数据处理的核心工具。

函数功能描述语法示例
len() 返回对象的长度(元素个数) len(obj) len([1,2,3]) → 3len("abc") → 3
sorted() 对可迭代对象排序(返回新列表,不改变原对象) sorted(iterable, key=None, reverse=False) sorted([3,1,2]) → [1,2,3]sorted(["b","a"], reverse=True) → ["b","a"]
reversed() 返回可迭代对象的反向迭代器 reversed(seq) list(reversed([1,2,3])) → [3,2,1]
all() 若可迭代对象所有元素为 True(或空),返回 True all(iterable) all([1,2,3]) → Trueall([1,0,3]) → False
any() 若可迭代对象至少有一个元素为 True,返回 True any(iterable) any([0,False,1]) → Trueany([]) → False
enumerate() 为可迭代对象添加索引,返回(索引, 值)元组迭代器 enumerate(iterable, start=0) list(enumerate(["a","b"])) → [(0,"a"), (1,"b")]
zip() 将多个可迭代对象的元素按位置配对,返回元组迭代器 zip(*iterables) list(zip([1,2], ["a","b"])) → [(1,"a"), (2,"b")]
slice() 创建切片对象(用于序列截取) slice(start, stop, step) s = slice(1,4); [1,2,3,4,5][s] → [2,3,4]

四、对象操作函数

用于检查对象类型、获取对象信息或操作对象属性。

函数功能描述语法示例
type() 返回对象的类型 type(obj) type(123) → inttype([1,2]) → list
isinstance() 判断对象是否为指定类型(或其子类) isinstance(obj, class_or_tuple) isinstance(5, int) → Trueisinstance([], (list, tuple)) → True
dir() 返回对象的所有属性和方法列表 dir(obj) dir([]) → ['append', 'clear', ...](列表的方法)
id() 返回对象的唯一标识符(内存地址) id(obj) id(123) → 140718502485232(每次运行可能不同)
hash() 返回对象的哈希值(可哈希对象:int、str 等) hash(obj) hash("test") → 7171021747400800475
getattr() 获取对象的属性值(不存在时可选默认值) getattr(obj, name, default) class A: x=1; a=A(); getattr(a, "x") → 1
setattr() 设置对象的属性值 setattr(obj, name, value) a=A(); setattr(a, "y", 2); a.y → 2
delattr() 删除对象的属性 delattr(obj, name) delattr(a, "x"); hasattr(a, "x") → False
hasattr() 检查对象是否有指定属性 hasattr(obj, name) hasattr([], "append") → True

五、输入输出函数

用于程序与用户的交互(输入输出)。

函数功能描述语法示例
print() 输出内容到控制台(支持多参数、分隔符、结尾符) print(*objects, sep=' ', end='\n', file=sys.stdout) print("Hello", "World", sep="-") → Hello-Worldprint(123, end="!") → 123!
input() 接收用户输入(返回字符串) input(prompt=None) name = input("请输入姓名:"); print(name)

六、迭代器与高阶函数

用于处理迭代过程,或对函数进行操作(函数式编程风格)。

函数功能描述语法示例
map() 对可迭代对象的每个元素应用函数,返回迭代器 map(function, *iterables) list(map(lambda x: x*2, [1,2,3])) → [2,4,6]
filter() 用函数过滤可迭代对象,保留返回 True 的元素 filter(function, iterable) list(filter(lambda x: x%2==0, [1,2,3,4])) → [2,4]
reduce() 对可迭代对象累积应用函数(需从functools导入) reduce(function, iterable, initial) from functools import reduce; reduce(lambda x,y: x+y, [1,2,3]) → 6
iter() 创建迭代器对象 iter(obj) it = iter([1,2,3]); next(it) → 1
next() 获取迭代器的下一个元素(可指定默认值) next(iterator, default) next(it) → 2next(it, "end") → 3(最后一个元素后返回 "end")

七、其他常用函数

覆盖异常处理、内存操作等场景。

函数功能描述语法示例
range() 生成整数序列(常用于循环) range(start, stop, step) list(range(5)) → [0,1,2,3,4]list(range(1,6,2)) → [1,3,5]
open() 打开文件(返回文件对象,需配合with使用) open(file, mode='r', encoding=None) with open("test.txt", "w") as f: f.write("hello")
help() 查看对象的帮助文档 help(obj) help(str)(查看字符串的帮助)
vars() 返回对象的属性字典(类似__dict__ vars(obj) class A: x=1; a=A(); vars(a) → {}(实例无属性时为空)
globals() 返回当前全局变量字典 globals() globals()["__name__"] → "__main__"
locals() 返回当前局部变量字典 locals() 在函数内使用:def f(): x=1; print(locals()) → {'x':1}
exit() 退出当前程序 exit(code=0) exit(0)(正常退出);exit(1)(异常退出)

使用建议

  1. 优先使用内置函数:内置函数由 C 语言实现,执行效率远高于自定义函数(如sum()比循环累加快 10 倍以上)。
  2. 注意参数类型:多数函数对输入类型有要求(如max()需可迭代对象,abs()需数值类型),否则会抛出TypeError
  3. 结合文档学习:通过help(函数名)查看详细用法(如help(sorted)了解key参数的高级用法)。
  4. 灵活组合使用:例如enumerate()+zip()可同时处理多个序列的索引和值,map()+filter()可实现复杂数据转换。

掌握这些内置函数是 Python 入门的关键,它们能大幅简化代码,提高编程效率。实际开发中,80% 的基础功能可通过内置函数实现,无需额外依赖

posted on 2025-09-11 08:58  小陶coding  阅读(51)  评论(0)    收藏  举报