小陶coding
欢迎您的访问,专注于分享最有价值的互联网技术干货。
Python3 内置函数详解
Python3 提供了大量内置函数(Built-in Functions),这些函数无需导入任何模块即可直接使用,覆盖了类型转换、数学运算、序列操作、迭代处理等多种场景,是 Python 编程的基础工具。本文按功能分类详解常用内置函数,包含语法、参数、示例及使用场景。
一、类型转换函数
用于在不同数据类型之间进行转换,是处理数据的基础工具。
函数功能描述语法示例
int()
将数据转为整数(默认十进制)
int(x, base=10)
int("123") → 123;int("1010", 2) → 10(二进制转十进制)
float()
将数据转为浮点数
float(x)
float("3.14") → 3.14;float(5) → 5.0
str()
将数据转为字符串
str(x)
str(123) → "123";str([1,2]) → "[1, 2]"
bool()
将数据转为布尔值(0/None/ 空对象为 False)
bool(x)
bool(0) → False;bool([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) → 5;abs(3.14) → 3.14
max()
返回可迭代对象中的最大值(或多个参数的最大值)
max(iterable) 或 max(a, b, ...)
max([1,3,2]) → 3;max(1,5,3) → 5
min()
返回可迭代对象中的最小值(或多个参数的最小值)
min(iterable) 或 min(a, b, ...)
min([1,3,2]) → 1;min(1,5,3) → 1
sum()
计算可迭代对象中元素的总和(支持起始值)
sum(iterable, start=0)
sum([1,2,3]) → 6;sum([1,2], 10) → 13
pow()
计算x的y次方(可选取模)
pow(x, y, mod=None)
pow(2, 3) → 8;pow(2, 3, 5) → 3(8 mod 5=3)
round()
对数值四舍五入(保留指定小数位数)
round(x, ndigits=None)
round(3.1415) → 3;round(3.1415, 2) → 3.14
三、序列 / 集合操作函数
用于处理列表、元组、字符串等可迭代对象,是数据处理的核心工具。
函数功能描述语法示例
len()
返回对象的长度(元素个数)
len(obj)
len([1,2,3]) → 3;len("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]) → True;all([1,0,3]) → False
any()
若可迭代对象至少有一个元素为 True,返回 True
any(iterable)
any([0,False,1]) → True;any([]) → 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) → int;type([1,2]) → list
isinstance()
判断对象是否为指定类型(或其子类)
isinstance(obj, class_or_tuple)
isinstance(5, int) → True;isinstance([], (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-World;print(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) → 2;next(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)(异常退出)
使用建议
优先使用内置函数:内置函数由 C 语言实现,执行效率远高于自定义函数(如sum()比循环累加快 10 倍以上)。
注意参数类型:多数函数对输入类型有要求(如max()需可迭代对象,abs()需数值类型),否则会抛出TypeError。
结合文档学习:通过help(函数名)查看详细用法(如help(sorted)了解key参数的高级用法)。
灵活组合使用:例如enumerate()+zip()可同时处理多个序列的索引和值,map()+filter()可实现复杂数据转换。
掌握这些内置函数是 Python 入门的关键,它们能大幅简化代码,提高编程效率。实际开发中,80% 的基础功能可通过内置函数实现,无需额外依赖
posted on
2025-09-11 08:58
小陶coding
阅读(70)
评论(0)
收藏
举报
刷新页面返回顶部