当前位置: 首页 > news >正文

完整教程:Python 3.12 内置函数全图鉴:71 个“官方外挂”详解


系列文章目录

文章目录


前言

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

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


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

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

1. abs(x)

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

2. divmod(a, b)

3. max(iterable)

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

4. min(iterable)

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

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

6. round(number, ndigits=None)

7. sum(iterable, start=0)

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

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

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

8. bool(x)

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

9. int(x)

10. float(x)

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

11. complex(real, imag=0)

12. str(object='')

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

13. list(iterable)

14. tuple(iterable)

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

15. dict(**kwarg)

16. set(iterable)

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

17. frozenset(iterable)

18. bytes(source)

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

19. bytearray(source)

20. memoryview(obj)

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

21. bin(x)

22. oct(x)

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

23. hex(x)

24. chr(i)

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

25. ord(c)

26. ascii(object)

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

27. repr(object)


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

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

28. all(iterable)

29. any(iterable)

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

30. callable(object)

31. isinstance(object, classinfo)

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

32. issubclass(class, classinfo)

33. type(object)

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

34. len(s)

35. id(object)

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

36. hash(object)

37. dir(object)

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

38. vars(object)

39. hasattr(object, name)

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

40. getattr(object, name)

41. setattr(object, name, value)

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

42. delattr(object, name)


四、迭代与循环 (12个)

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

43. range(start, stop, step)

44. enumerate(iterable, start=0)

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

45. zip(*iterables)

46. filter(function, iterable)

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

47. map(function, iterable)

48. sorted(iterable)

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

49. reversed(seq)

50. iter(object)

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

51. next(iterator)

52. slice(start, stop, step)

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

53. aiter(async_iterable)

54. anext(async_iterator)

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

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

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

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

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

56. classmethod(function)

57. staticmethod(function)

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

58. super()

59. object()

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

60. compile(source, ...)

61. __import__(name)

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

六、输入输出与框架环境 (10个)

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

62. input(prompt)

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

63. print(*objects)

64. open(file, mode)

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

65. help(object)

66. breakpoint()

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

67. globals()

68. locals()

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

69. format(value, format_spec)

70. eval(expression)

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

71. exec(object)


总结

Python 3.12 的就是以上就71 个内置函数全图鉴。熟练使用这些“官方外挂”,能让你的代码从几十行缩减为一行,既优雅又高效。建议收藏本文,作为日常编写的速查字典!
本章有误,请指正,Thanks♪(・ω・)ノ

http://www.jsqmd.com/news/379192/

相关文章:

  • 和有赞类似的商城有哪些?SaaS小程序制作平台对比 - 码云数智
  • 微信小程序开发平台哪家好?2026微信小程序制作平台综合评测 - 码云数智
  • 屯漫联系方式:平台使用指南与信息核实建议 - 十大品牌推荐
  • 单北斗GNSS变形监测一体机在大坝安全监测中的应用探索
  • Note - 斜率优化 DP
  • 运用Python编程计算减压孔板孔口直径的研究
  • 智能食品营养数据采集实战:从YouTube到结构化营养成分的Python爬虫全解析
  • 图注意力网络在复杂关系推理中的优化
  • 小程序怎么开发自己的小程序 - 码云数智
  • 增强智能在AI原生应用中的持续学习机制
  • 小程序制作平台有哪些?2026主流小程序制作平台推荐 - 码云数智
  • 福特汽车2025年全球销量达439.5万辆,营业收入达到 1873 亿美元
  • 企业展示小程序制作流程 - 码云数智
  • 板刷贪心总结
  • 传统权限管理 VS 平台化权限管理:从“系统运维”到“平台治理”的跨越
  • 怎么做微信小程序,小程序制作平台推荐 - 码云数智
  • 企业展示小程序怎么弄,怎么自己做小程序 - 码云数智
  • 历史的长河在指尖流淌:2026年 Python 历史事件时间线数据爬取实战指南
  • 题解:AWC 0005
  • AI应用架构师实战:AI系统架构评审的5个经典案例解析
  • 搭建一个网站大概需要多少钱?网站建设方式及费用 - 码云数智
  • 摄影网站制作流程,0基础自助建站教程 - 码云数智
  • AI原生应用开发:知识抽取技术选型指南
  • 汽车参数对比爬虫实战:从静态页面到动态渲染的Python最新技术栈完全解析
  • 掌握大数据领域RabbitMQ的虚拟主机配置
  • 基于YOLOv5/v8/v10的人群密度估计系统:从模型训练到UI界面全栈实战
  • 监控与日志:跟踪AI Agent的运行状态
  • 基于深度学习的车牌识别系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • 全新福特烈马RTR正式登场,彰显福特中国品质与设计实力
  • HDFS与Flink集成:流处理数据存储方案