跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

Python 3.12 内置函数全图鉴:71 个核心工具详解

Python 3.12 中的 71 个内置函数,涵盖数学运算、类型转换、逻辑检查、迭代循环、类编译及输入输出六大类别。每个函数均提供官方定义、通俗解释及代码示例,旨在帮助开发者快速掌握核心工具,提升编码效率。

Ne0发布于 2026/3/30更新于 2026/5/2738 浏览
Python 3.12 内置函数全图鉴:71 个核心工具详解

前言

Python 的强大之处在于它自带了丰富的工具箱。截至 Python 3.12 版本,官方提供了 71 个内置函数。这些函数无需 import 任何模块即可直接使用。

为了方便查阅和记忆,本文将这 71 个函数按功能分类,并对每一个函数进行了详细拆解:既有严肃的官方定义,也有通俗易懂的解释,更附带了直接能跑的代码样例。


一、数学与数字运算 (7 个)

这组函数负责处理数值,绝对理性,没有感情。

1. abs(x)

  • 📖 官方:返回一个数的绝对值。
  • 🗣️ 人话:去油腻。不管正负,出来全是正能量。
  • 💻 代码:abs(-10) # 10

2. divmod(a, b)

  • 📖 官方:将两个数作为参数,返回一对商和余数。
  • 🗣️ 人话:小学除法。买 10 个苹果分给 3 个人,每人几个?剩几个?一次搞定。
  • 💻 代码:divmod(10, 3) # (3, 1)

3. max(iterable)

  • 📖 官方:返回可迭代对象中的最大项,或两个及以上实参中最大的。
  • 🗣️ 人话:卷王。在一堆数里找老大。
  • 💻 代码:max([1, 99, 2]) # 99

4. min(iterable)

  • 📖 官方:返回可迭代对象中的最小项,或两个及以上实参中最小的。
  • 🗣️ 人话:潜水王。在一堆数里找老幺。
  • 💻 代码:min([1, 99, 2]) # 1

5. pow(base, exp, mod=None)

  • 📖 官方:返回 base 的 exp 次幂;如果 mod 存在,则对 mod 取余。
  • 🗣️ 人话:指数爆炸。算次方的。第三个参数常用于加密算法(大数取模)。
  • 💻 代码:pow(2, 3) # 8

6. round(number, ndigits=None)

  • 📖 官方:返回 number 舍入到小数点后 ndigits 位精度的值。
  • 🗣️ 人话:银行家舍入。注意 Python 3 是'奇进偶不进'(四舍六入五取偶)。
  • 💻 代码:round(2.5) # 2

7. sum(iterable, start=0)

  • 📖 官方:从 start 开始自左向右对 iterable 的项求和并返回总计值。
  • 🗣️ 人话:购物车结算。把列表里的数字加起来。
  • 💻 代码:sum([1, 2, 3]) # 6

二、数据类型转换与创建 (20 个)

负责把对象从一种形态变成另一种形态,俗称'投胎'。

8. bool(x)

  • 📖 官方:返回一个布尔值,即 True 或 False。
  • 🗣️ 人话:测谎仪。只有 0、None、空容器是 False,其余全是 True。
  • 💻 代码:bool([]) # False

9. int(x)

  • 📖 官方:根据一个数字或字符串返回一个整数对象。
  • 🗣️ 人话:取整。直接砍掉小数部分,不讲四舍五入。
  • 💻 代码:int(3.99) # 3

10. float(x)

  • 📖 官方:返回从数字或字符串生成的浮点数。
  • 🗣️ 人话:变小数。加上小数点,身价立马精确了。
  • 💻 代码:float(3) # 3.0

11. complex(real, imag=0)

  • 📖 官方:返回值为 real + imag*1j 的复数。
  • 🗣️ 人话:变复数。实部 + 虚部,工科生的噩梦。
  • 💻 代码:complex(1, 2) # (1+2j)

12. str(object='')

  • 📖 官方:返回 object 的字符串版本。
  • 🗣️ 人话:文本化。万物皆可文本化。
  • 💻 代码:str(123) # "123"

13. list(iterable)

  • 📖 官方:实际上 list 是一种可变序列类型。
  • 🗣️ 人话:装袋子。把能遍历的东西都装进一个列表里。
  • 💻 代码:list("Hi") # ['H', 'i']

14. tuple(iterable)

  • 📖 官方:实际上 tuple 是一种不可变序列类型。
  • 🗣️ 人话:塑封袋。装进去就拿不出来、改不了的列表。
  • 💻 代码:tuple([1, 2]) # (1, 2)

15. dict(**kwarg)

  • 📖 官方:创建一个新的字典。
  • 🗣️ 人话:查字典。创建键值对映射。
  • 💻 代码:dict(a=1) # {'a': 1}

16. set(iterable)

  • 📖 官方:返回一个新的 set 对象。
  • 🗣️ 人话:去重机。丢进去一堆重复的,出来只剩独一无二的。
  • 💻 代码:set([1, 2, 2]) # {1, 2}

17. frozenset(iterable)

  • 📖 官方:返回一个新的 frozenset 对象。
  • 🗣️ 人话:冻结集合。不能修改的集合,可以当字典的 key。
  • 💻 代码:frozenset([1, 2])

18. bytes(source)

  • 📖 官方:返回一个新的'bytes'对象,是一个不可变序列。
  • 🗣️ 人话:机器粮。给计算机看的二进制数据,不可变。
  • 💻 代码:bytes([65]) # b'A'

19. bytearray(source)

  • 📖 官方:返回一个新的 bytes 数组,可变序列。
  • 🗣️ 人话:橡皮泥。可以修改的二进制数据。
  • 💻 代码:bytearray(b"Hi")

20. memoryview(obj)

  • 📖 官方:返回由给定实参创建的'内存视图'对象。
  • 🗣️ 人话:透视眼。不复制数据直接看内存,处理大文件神器。
  • 💻 代码:v = memoryview(b'abc')

21. bin(x)

  • 📖 官方:将一个整数转变为一个前缀为'0b'的二进制字符串。
  • 🗣️ 人话:变二进制。
  • 💻 代码:bin(3) # '0b11'

22. oct(x)

  • 📖 官方:将一个整数转变为一个前缀为'0o'的八进制字符串。
  • 🗣️ 人话:变八进制。
  • 💻 代码:oct(8) # '0o10'

23. hex(x)

  • 📖 官方:将整数转换为以'0x'为前缀的小写十六进制字符串。
  • 🗣️ 人话:变十六进制。
  • 💻 代码:hex(255) # '0xff'

24. chr(i)

  • 📖 官方:返回 Unicode 码位为整数 i 的字符。
  • 🗣️ 人话:数字转字符。查表 97 对应'a'。
  • 💻 代码:chr(97) # 'a'

25. ord(c)

  • 📖 官方:对表示单个 Unicode 字符的字符串,返回其整数码点。
  • 🗣️ 人话:字符转数字。
  • 💻 代码:ord('a') # 97

26. ascii(object)

  • 📖 官方:返回一个对象可打印的字符串,非 ASCII 字符会转义。
  • 🗣️ 人话:去汉字化。中文会变成 你好 乱码。
  • 💻 代码:ascii('你好') # '\u4f60\u597d'

27. repr(object)

  • 📖 官方:返回包含一个对象的可打印表示形式的字符串。
  • 🗣️ 人话:卸妆水。给开发者看的原始字符串,通常带引号。
  • 💻 代码:repr("1") # "'1'"

三、逻辑检查与反射 (15 个)

最喜欢打听'你是谁?''你有什么?''你行不行?'

28. all(iterable)

  • 📖 官方:如果 iterable 的所有元素为真,返回 True。
  • 🗣️ 人话:全票通过。全是 True 才是 True。
  • 💻 代码:all([True, 1]) # True

29. any(iterable)

  • 📖 官方:如果 iterable 的任一元素为真则返回 True。
  • 🗣️ 人话:滥竽充数。只要有一个是 True,结果就是 True。
  • 💻 代码:any([0, 1]) # True

30. callable(object)

  • 📖 官方:如果参数 object 是可调用的,返回 True。
  • 🗣️ 人话:能喊吗。屁股后面能不能加括号 () 运行它?
  • 💻 代码:callable(print) # True

31. isinstance(object, classinfo)

  • 📖 官方:如果参数 object 是参数 classinfo 的实例,返回 True。
  • 🗣️ 人话:查户口。判断你是不是某种类型。
  • 💻 代码:isinstance(5, int) # True

32. issubclass(class, classinfo)

  • 📖 官方:如果 class 是 classinfo 的子类,返回 True。
  • 🗣️ 人话:查祖宗。判断一个类是不是另一个类的后代。
  • 💻 代码:issubclass(bool, int) # True

33. type(object)

  • 📖 官方:返回 object 的类型。
  • 🗣️ 人话:照妖镜。看你到底是个什么东西。
  • 💻 代码:type([]) # <class 'list'>

34. len(s)

  • 📖 官方:返回对象的长度(元素个数)。
  • 🗣️ 人话:量尺。量量你有多少货。
  • 💻 代码:len("Hi") # 2

35. id(object)

  • 📖 官方:返回对象的'标识值',通常是内存地址。
  • 🗣️ 人话:身份证号。
  • 💻 代码:id(x)

36. hash(object)

  • 📖 官方:返回该对象的哈希值(如果它有的话)。
  • 🗣️ 人话:数字指纹。用于字典快速查找。
  • 💻 代码:hash("hi")

37. dir(object)

  • 📖 官方:返回该对象的有效属性列表。
  • 🗣️ 人话:扒皮。看看这个对象肚子里都有啥属性和方法。
  • 💻 代码:dir(str)

38. vars(object)

  • 📖 官方:返回对象的 __dict__ 属性。
  • 🗣️ 人话:偷看日记。把对象的属性以字典形式显示出来。
  • 💻 代码:vars(obj)

39. hasattr(object, name)

  • 📖 官方:如果字符串是对象的属性之一的名称,则返回 True。
  • 🗣️ 人话:你有吗。
  • 💻 代码:hasattr(str, 'upper') # True

40. getattr(object, name)

  • 📖 官方:返回对象命名属性的值。
  • 🗣️ 人话:给我拿。动态获取属性值。
  • 💻 代码:getattr(obj, 'x')

41. setattr(object, name, value)

  • 📖 官方:设置属性值。
  • 🗣️ 人话:给你塞。动态给对象增加或修改属性。
  • 💻 代码:setattr(obj, 'x', 10)

42. delattr(object, name)

  • 📖 官方:删除该属性。
  • 🗣️ 人话:给你扔。动态删除属性。
  • 💻 代码:delattr(obj, 'x')

四、迭代与循环 (12 个)

让你的 for 循环骚操作满天飞。

43. range(start, stop, step)

  • 📖 官方:实际上是一个不可变的序列类型。
  • 🗣️ 人话:造数机。生成一串数字序列,循环最爱。
  • 💻 代码:list(range(3)) # [0, 1, 2]

44. enumerate(iterable, start=0)

  • 📖 官方:返回一个枚举对象。
  • 🗣️ 人话:带号上岗。遍历时顺便给你标上序号。
  • 💻 代码:list(enumerate(['a'])) # [(0, 'a')]

45. zip(*iterables)

  • 📖 官方:在多个迭代器上并行迭代,返回元组。
  • 🗣️ 人话:拉链。把两个列表对应位置缝在一起。
  • 💻 代码:list(zip([1], ['a'])) # [(1, 'a')]

46. filter(function, iterable)

  • 📖 官方:用函数返回真的那些元素构建迭代器。
  • 🗣️ 人话:筛子。只保留满足条件的。
  • 💻 代码:list(filter(bool, [0, 1])) # [1]

47. map(function, iterable)

  • 📖 官方:将函数应用于每一项并输出其结果。
  • 🗣️ 人话:批量加工厂。给列表里每个元素都来一刀。
  • 💻 代码:list(map(str, [1, 2])) # ['1', '2']

48. sorted(iterable)

  • 📖 官方:根据项返回一个新的已排序列表。
  • 🗣️ 人话:整理狂。返回一个排好序的新列表。
  • 💻 代码:sorted([2, 1]) # [1, 2]

49. reversed(seq)

  • 📖 官方:返回一个反向的迭代器。
  • 🗣️ 人话:倒带。倒着读。
  • 💻 代码:list(reversed([1, 2])) # [2, 1]

50. iter(object)

  • 📖 官方:返回一个迭代器对象。
  • 🗣️ 人话:手动挡。把列表变成迭代器。
  • 💻 代码:it = iter([1, 2])

51. next(iterator)

  • 📖 官方:从迭代器中获取下一项。
  • 🗣️ 人话:挤牙膏。挤一下出一个,没货了报错。
  • 💻 代码:next(it)

52. slice(start, stop, step)

  • 📖 官方:返回一个切片对象。
  • 🗣️ 人话:手术刀。把 [0:5] 这种切片操作存成变量。
  • 💻 代码:s = slice(0, 1)

53. aiter(async_iterable)

  • 📖 官方:返回异步迭代器。
  • 🗣️ 人话:异步手动挡。给 async for 用的底层工具。
  • 💻 代码:aiter(obj)

54. anext(async_iterator)

  • 📖 官方:从异步迭代器返回下一项。
  • 🗣️ 人话:异步挤牙膏。
  • 💻 代码:await anext(it)

五、类、编译与底层 (7 个)

进阶玩法的基石,新手慎用。

55. property(fget=None, ...)

  • 📖 官方:返回一个 property 属性。
  • 🗣️ 人话:伪装者。把方法伪装成属性,调用时不用加括号。
  • 💻 代码:@property

56. classmethod(function)

  • 📖 官方:把一个方法封装成类方法。
  • 🗣️ 人话:班干部。绑定到类而不是实例。
  • 💻 代码:@classmethod

57. staticmethod(function)

  • 📖 官方:将方法转换为静态方法。
  • 🗣️ 人话:房客。寄宿在类里的普通函数,跟类没啥深层关系。
  • 💻 代码:@staticmethod

58. super()

  • 📖 官方:返回一个代理对象,将调用委托给父类。
  • 🗣️ 人话:找爸爸。调用父类的方法。
  • 💻 代码:super().__init__()

59. object()

  • 📖 官方:返回一个不带特征的新对象,所有类的基类。
  • 🗣️ 人话:亚当。Python 所有对象的祖宗。
  • 💻 代码:o = object()

60. compile(source, ...)

  • 📖 官方:将源字符串编译成代码或 AST 对象。
  • 🗣️ 人话:翻译官。把字符串代码编译成字节码。
  • 💻 代码:compile("print(1)", "", "exec")

61. import(name)

  • 📖 官方:此函数会由 import 语句发起调用。
  • 🗣️ 人话:底层召唤术。import 背后的真身,一般人用不到。
  • 💻 代码:__import__('os')

六、输入输出与系统环境 (10 个)

负责和用户、文件系统、解释器环境聊天。

62. input(prompt)

  • 📖 官方:从输入中读取一行。
  • 🗣️ 人话:要饭。程序暂停,伸手管用户要输入。
  • 💻 代码:name = input("Who?")

63. print(*objects)

  • 📖 官方:将 objects 打印到文本流。
  • 🗣️ 人话:大喇叭。新手唯一的调试工具。
  • 💻 代码:print("Hello")

64. open(file, mode)

  • 📖 官方:打开文件并返回 file object。
  • 🗣️ 人话:开门。操作文件。
  • 💻 代码:f = open('t.txt', 'r')

65. help(object)

  • 📖 官方:启动内置的帮助系统。
  • 🗣️ 人话:救命。弹出官方文档。
  • 💻 代码:help(list)

66. breakpoint()

  • 📖 官方:此函数会在调用点进入调试器。
  • 🗣️ 人话:暂停键。代码跑到这会自动卡住,进入调试模式。
  • 💻 代码:breakpoint()

67. globals()

  • 📖 官方:返回实现当前模块命名空间的字典。
  • 🗣️ 人话:全局大查房。看看全局变量有哪些。
  • 💻 代码:globals()

68. locals()

  • 📖 官方:返回表示当前本地符号表的字典。
  • 🗣️ 人话:局部小查房。看看当前函数里有哪些变量。
  • 💻 代码:locals()

69. format(value, format_spec)

  • 📖 官方:将 value 转换为'格式化后'的表示形式。
  • 🗣️ 人话:美颜相机。保留几位小数?左对齐还是右对齐?
  • 💻 代码:format(3.14, '.1f') # '3.1'

70. eval(expression)

  • 📖 官方:对 expression 参数进行求值。
  • 🗣️ 人话:计算器。把字符串当成一行代码算出来。危险!
  • 💻 代码:eval("1+1") # 2

71. exec(object)

  • 📖 官方:此函数支持动态执行 Python 代码。
  • 🗣️ 人话:执行官。比 eval 更狠,能运行一整段代码。极度危险!
  • 💻 代码:exec("print('Hi')")

总结

以上就是 Python 3.12 的 71 个内置函数 全图鉴。熟练使用这些'官方外挂',能让你的代码从几十行缩减为一行,既优雅又高效。

目录

  1. 前言
  2. 一、数学与数字运算 (7 个)
  3. 1. abs(x)
  4. 2. divmod(a, b)
  5. 3. max(iterable)
  6. 4. min(iterable)
  7. 5. pow(base, exp, mod=None)
  8. 6. round(number, ndigits=None)
  9. 7. sum(iterable, start=0)
  10. 二、数据类型转换与创建 (20 个)
  11. 8. bool(x)
  12. 9. int(x)
  13. 10. float(x)
  14. 11. complex(real, imag=0)
  15. 12. str(object='')
  16. 13. list(iterable)
  17. 14. tuple(iterable)
  18. 15. dict(**kwarg)
  19. 16. set(iterable)
  20. 17. frozenset(iterable)
  21. 18. bytes(source)
  22. 19. bytearray(source)
  23. 20. memoryview(obj)
  24. 21. bin(x)
  25. 22. oct(x)
  26. 23. hex(x)
  27. 24. chr(i)
  28. 25. ord(c)
  29. 26. ascii(object)
  30. 27. repr(object)
  31. 三、逻辑检查与反射 (15 个)
  32. 28. all(iterable)
  33. 29. any(iterable)
  34. 30. callable(object)
  35. 31. isinstance(object, classinfo)
  36. 32. issubclass(class, classinfo)
  37. 33. type(object)
  38. 34. len(s)
  39. 35. id(object)
  40. 36. hash(object)
  41. 37. dir(object)
  42. 38. vars(object)
  43. 39. hasattr(object, name)
  44. 40. getattr(object, name)
  45. 41. setattr(object, name, value)
  46. 42. delattr(object, name)
  47. 四、迭代与循环 (12 个)
  48. 43. range(start, stop, step)
  49. 44. enumerate(iterable, start=0)
  50. 45. zip(*iterables)
  51. 46. filter(function, iterable)
  52. 47. map(function, iterable)
  53. 48. sorted(iterable)
  54. 49. reversed(seq)
  55. 50. iter(object)
  56. 51. next(iterator)
  57. 52. slice(start, stop, step)
  58. 53. aiter(async_iterable)
  59. 54. anext(async_iterator)
  60. 五、类、编译与底层 (7 个)
  61. 55. property(fget=None, ...)
  62. 56. classmethod(function)
  63. 57. staticmethod(function)
  64. 58. super()
  65. 59. object()
  66. 60. compile(source, ...)
  67. 61. import(name)
  68. 六、输入输出与系统环境 (10 个)
  69. 62. input(prompt)
  70. 63. print(*objects)
  71. 64. open(file, mode)
  72. 65. help(object)
  73. 66. breakpoint()
  74. 67. globals()
  75. 68. locals()
  76. 69. format(value, format_spec)
  77. 70. eval(expression)
  78. 71. exec(object)
  79. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Web 数据管理期末复习指南:爬虫、分析与文本处理
  • Go Web 开发必备理论基础
  • AI 图像生成指南:从原理到实战
  • Tabnine、Cursor 与 Copilot:三款 AI 编程助手实战效率对比
  • 知网 AIGC 检测原理与降低 AI 疑似度策略
  • Spring 事务及其传播机制详解
  • VRCX 完整指南:如何提升 VRChat 社交体验
  • C++ 实现 2048 游戏核心逻辑解析
  • Kafka 常用命令行工具实战指南
  • C++七级GESP 核心知识点详解
  • 2026 年 3 月科技圈大事件:AI 智能体爆发与芯片战争升级
  • JVM 垃圾回收核心:根可达性、三色标记与 CMS/G1 对比
  • MySQL 行级锁原理详解:Record Lock、Gap Lock 与 Next-Key Lock
  • 双指针算法:数组分块技巧解析
  • 算法刷题:替换所有问号与提莫攻击
  • 分隔链表算法详解:双虚拟头节点拆解合并法
  • VSCode Copilot 认证失败排查与修复指南
  • Java 读取 Word 文档 (.doc/.docx) 实现方法
  • 法奥机器人控制器操作与 Lua 脚本编程指南
  • 前后端分离架构深度解析:选型、优缺点与实战对比

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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