跳到主要内容Python 3.12 内置函数全解析:71 个核心工具详解 | 极客日志Python算法
Python 3.12 内置函数全解析:71 个核心工具详解
Python 3.12 提供 71 个无需导入即可使用的内置函数,涵盖数学运算、类型转换、逻辑检查、迭代循环、类底层及输入输出六大领域。逐一解析各函数的官方定义、实际用途及代码示例,帮助开发者快速掌握核心工具,提升编码效率。
不羁3 浏览 前言
Python 的强大之处在于它自带了丰富的工具箱。截至 Python 3.12 版本,官方提供了 71 个内置函数。这些函数无需 import 任何模块即可直接使用。
为了方便查阅和记忆,本文将这 71 个函数按功能分类,并对每一个函数进行了详细拆解:既有严肃的官方定义,也有通俗易懂的解释,更附带了直接能跑的代码样例。
一、数学与数字运算 (7 个)
*这组函数负责处理数值,绝对理性,没有感情。
1. abs(x)
返回一个数的绝对值。不管正负,出来全是正能量。
abs(-10)
2. divmod(a, b)
将两个数作为参数,返回一对商和余数。买 10 个苹果分给 3 个人,每人几个?剩几个?一次搞定。
divmod(10, 3)
3. max(iterable)
返回可迭代对象中的最大项,或两个及以上实参中最大的。在一堆数里找老大。
max([1, 99, 2])
4. min(iterable)
返回可迭代对象中的最小项,或两个及以上实参中最小的。在一堆数里找老幺。
min([1, 99, 2])
5. pow(base, exp, mod=None)
返回 base 的 exp 次幂;如果 mod 存在,则对 mod 取余。算次方的。第三个参数常用于加密算法(大数取模)。
pow(2, 3)
6. round(number, ndigits=None)
返回 number 舍入到小数点后 ndigits 位精度的值。注意 Python 3 是'奇进偶不进'(四舍六入五取偶)。
round(2.5)
7. sum(iterable, start=0)
从 start 开始自左向右对 iterable 的项求和并返回总计值。把列表里的数字加起来。
二、数据类型转换与创建 (20 个)
*负责把对象从一种形态变成另一种形态,俗称'投胎'。
8. bool(x)
返回一个布尔值,即 True 或 False。只有 0、None、空容器是 False,其余全是 True。
9. int(x)
根据一个数字或字符串返回一个整数对象。直接砍掉小数部分,不讲四舍五入。
10. float(x)
返回从数字或字符串生成的浮点数。加上小数点,身价立马精确了。
11. complex(real, imag=0)
返回值为 real + imag*1j 的复数。实部 + 虚部,工科生的噩梦。
12. str(object='')
返回 object 的字符串版本。万物皆可文本化。
13. list(iterable)
实际上 list 是一种可变序列类型。把能遍历的东西都装进一个列表里。
14. tuple(iterable)
实际上 tuple 是一种不可变序列类型。装进去就拿不出来、改不了的列表。
15. dict(**kwarg)
16. set(iterable)
返回一个新的 set 对象。丢进去一堆重复的,出来只剩独一无二的。
17. frozenset(iterable)
返回一个新的 frozenset 对象。不能修改的集合,可以当字典的 key。
18. bytes(source)
返回一个新的'bytes'对象,是一个不可变序列。给计算机看的二进制数据,不可变。
19. bytearray(source)
返回一个新的 bytes 数组,可变序列。可以修改的二进制数据。
20. memoryview(obj)
返回由给定实参创建的'内存视图'对象。不复制数据直接看内存,处理大文件神器。
21. bin(x)
将一个整数转变为一个前缀为'0b'的二进制字符串。
22. oct(x)
将一个整数转变为一个前缀为'0o'的八进制字符串。
23. hex(x)
将整数转换为以'0x'为前缀的小写十六进制字符串。
24. chr(i)
返回 Unicode 码位为整数 i 的字符。查表 97 对应 'a'。
25. ord(c)
对表示单个 Unicode 字符的字符串,返回其整数码点。
26. ascii(object)
返回一个对象可打印的字符串,非 ASCII 字符会转义。中文会变成 你好 乱码。
27. repr(object)
返回包含一个对象的可打印表示形式的字符串。给开发者看的原始字符串,通常带引号。
三、逻辑检查与反射 (15 个)
*最喜欢打听'你是谁?''你有什么?''你行不行?'
28. all(iterable)
如果 iterable 的所有元素为真,返回 True。全是 True 才是 True。
29. any(iterable)
如果 iterable 的任一元素为真则返回 True。只要有一个是 True,结果就是 True。
30. callable(object)
如果参数 object 是可调用的,返回 True。屁股后面能不能加括号 () 运行它?
31. isinstance(object, classinfo)
如果参数 object 是参数 classinfo 的实例,返回 True。判断你是不是某种类型。
32. issubclass(class, classinfo)
如果 class 是 classinfo 的子类,返回 True。判断一个类是不是另一个类的后代。
33. type(object)
返回 object 的类型。看你到底是个什么东西。
34. len(s)
35. id(object)
36. hash(object)
返回该对象的哈希值(如果它有的话)。用于字典快速查找。
37. dir(object)
返回该对象的有效属性列表。看看这个对象肚子里都有啥属性和方法。
38. vars(object)
返回对象的 __dict__ 属性。把对象的属性以字典形式显示出来。
39. hasattr(object, name)
如果字符串是对象的属性之一的名称,则返回 True。
40. getattr(object, name)
41. setattr(object, name, value)
42. delattr(object, name)
四、迭代与循环 (12 个)
43. range(start, stop, step)
实际上是一个不可变的序列类型。生成一串数字序列,循环最爱。
44. enumerate(iterable, start=0)
45. zip(*iterables)
在多个迭代器上并行迭代,返回元组。把两个列表对应位置缝在一起。
46. filter(function, iterable)
用函数返回真的那些元素构建迭代器。只保留满足条件的。
list(filter(bool, [0, 1]))
47. map(function, iterable)
将函数应用于每一项并输出其结果。给列表里每个元素都来一刀。
48. sorted(iterable)
根据项返回一个新的已排序列表。返回一个排好序的新列表。
49. reversed(seq)
50. iter(object)
51. next(iterator)
52. slice(start, stop, step)
返回一个切片对象。把 [0:5] 这种切片操作存成变量。
53. aiter(async_iterable)
返回异步迭代器。给 async for 用的底层工具。
54. anext(async_iterator)
五、类、编译与底层 (7 个)
55. property(fget=None, ...)
返回一个 property 属性。把方法伪装成属性,调用时不用加括号。
56. classmethod(function)
57. staticmethod(function)
将方法转换为静态方法。寄宿在类里的普通函数,跟类没啥深层关系。
58. super()
返回一个代理对象,将调用委托给父类。调用父类的方法。
59. object()
返回一个不带特征的新对象,所有类的基类。Python 所有对象的祖宗。
60. compile(source, ...)
将源字符串编译成代码或 AST 对象。把字符串代码编译成字节码。
compile("print(1)", "", "exec")
61. import(name)
此函数会由 import 语句发起调用。import 背后的真身,一般人用不到。
六、输入输出与系统环境 (10 个)
62. input(prompt)
63. print(*objects)
将 objects 打印到文本流。新手唯一的调试工具。
64. open(file, mode)
打开文件并返回 file object。操作文件。
65. help(object)
66. breakpoint()
此函数会在调用点进入调试器。代码跑到这会自动卡住,进入调试模式。
67. globals()
返回实现当前模块命名空间的字典。看看全局变量有哪些。
68. locals()
返回表示当前本地符号表的字典。看看当前函数里有哪些变量。
69. format(value, format_spec)
将 value 转换为'格式化后'的表示形式。保留几位小数?左对齐还是右对齐?
70. eval(expression)
对 expression 参数进行求值。把字符串当成一行代码算出来。危险!
71. exec(object)
此函数支持动态执行 Python 代码。比 eval 更狠,能运行一整段代码。极度危险!
总结
以上就是 Python 3.12 的 71 个内置函数全览。熟练使用这些'官方外挂',能让你的代码从几十行缩减为一行,既优雅又高效。建议收藏本文,作为日常开发的速查字典!
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- Gemini 图片去水印
基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online
- curl 转代码
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown转HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online