【内置函数】84个Python内置函数全整理
Python 内置函数全集(完整分类 + 参数详解 + 示例)
文章目录
- Python 内置函数全集(完整分类 + 参数详解 + 示例)
- 一、数值与数学函数
- abs(x)
- divmod(a, b)
- pow(x, y, mod=None)
- round(number[, ndigits])
- sum(iterable, /, start=0)
- hash(obj)
- 二、类型转换函数(构造器)
- int(x=0, base=10)
- float(x)
- complex(real, imag=0)
- str(obj)
- bool(x)
- bytes(source, encoding) / bytes(length)
- 三、迭代与函数式编程工具
- all(iterable)
- any(iterable)
- aiter(async_iterable)
- anext(async_iterator[, default])
- enumerate(iterable, start=0)
- filter(function, iterable)
- map(function, iterable, ...)
- zip(*iterables)
- iter(obj[, sentinel])
- next(iterator[, default])
- reversed(seq)
- 四、字符串与字符处理函数
- ascii(obj)
- bin(x)
- chr(i)
- format(value, format_spec='')
- hex(x)
- oct(x)
- ord(c)
- repr(obj)
- 五、输入输出与执行控制
- print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- input(prompt=None)
- eval(expression, globals=None, locals=None)
- exec(object, globals=None, locals=None)
- compile(source, filename, mode)
- 六、对象检查与反射
- callable(obj)
- getattr(obj, name[, default])
- hasattr(obj, name)
- setattr(obj, name, value)
- delattr(obj, name)
- id(obj)
- type(obj) / type(name, bases, dict)
- isinstance(obj, classinfo)
- issubclass(cls, classinfo)
- 七、类与方法控制函数
- classmethod(function)
- staticmethod(function)
- property(fget=None, fset=None, fdel=None, doc=None)
- super([type[, obj]])
- 八、容器构造函数
- list([iterable])
- tuple([iterable])
- dict([mapping or iterable])
- set([iterable])
- frozenset([iterable])
- 九、作用域与变量访问
- globals()
- locals()
- vars([object])
- 十、内存与字节工具
- bytes([source[, encoding[, errors]]])
- bytearray([source[, encoding[, errors]]])
- memoryview(obj)
- 十一、其他函数
- object()
- help([object])
- open(file, mode='r', ...)
- ord(char)
- slice(start, stop[, step])
- sorted(iterable, *, key=None, reverse=False)
- len(s)
- breakpoint()
- __import__(name, globals=None, locals=None, fromlist=(), level=0)
- 总结与建议
🔗 官方文档:https://docs.python.org/3/library/functions.html
本文完整覆盖 Python 所有内置函数(截至 Python 3.12,共 84 个),每个函数都按分类分层讲解,涵盖:
- 函数签名与参数说明
- 精确功能描述
- 使用示例代码(标准 Python 风格)
- 标注版本限制(若有)
一、数值与数学函数
abs(x)
返回数值的绝对值。可用于整数、浮点数或复数。
abs(-3) # 3
abs(-3.5) # 3.5
abs(3 + 4j) # 5.0
divmod(a, b)
返回一个 (商, 余数) 的元组,等价于 (a // b, a % b)。
divmod(9, 4) # (2, 1)
divmod(8.5, 2) # (4.0, 0.5)
pow(x, y, mod=None)
返回 x ** y。如果给出 mod,返回 x**y % mod。
pow(2, 3) # 8
pow(2, 3, 5) # 3
round(number[, ndigits])
返回 number 四舍五入的值。可选 ndigits 指定保留几位小数。
round(3.14159, 2) # 3.14
round(3.5) # 4
sum(iterable, /, start=0)
对 iterable 中所有元素求和,并加上 start 初始值(默认是 0)。
sum([1, 2, 3]) # 6
sum((1.5, 2.5), 1.0) # 5.0
hash(obj)
返回对象的哈希值,常用于哈希表、集合等。
hash("abc") # 整数,值视实现平台不同而不同
hash((1, 2, 3)) # 元组可哈希
二、类型转换函数(构造器)
int(x=0, base=10)
将 x 转换为整数。如果是字符串,可提供 base(如 2, 16)。
int("100", 2) # 4
int(3.9) # 3
float(x)
将字符串或整数转为浮点数。
float("3.14") # 3.14
float(10) # 10.0
complex(real, imag=0)
构造复数,实部为 real,虚部为 imag。
complex(2, 3) # (2+3j)
str(obj)
将任意对象转换为字符串。
str(123) # '123'
str([1, 2]) # '[1, 2]'
bool(x)
将对象转换为布尔值,遵循 Python 真值判断规则。
bool(0) # False
bool("hello") # True
bytes(source, encoding) / bytes(length)
返回一个 bytes 对象。
bytes("hi", "utf-8") # b'hi'
bytes(3) # b'\x00\x00\x00'
三、迭代与函数式编程工具
all(iterable)
只要 iterable 中所有元素为真(或为空),返回 True。
all([1, 2, 3]) # True
all([0, 1, 2]) # False
any(iterable)
只要 iterable 中有一个元素为真,返回 True。
any([0, 0, 1]) # True
any([]) # False
aiter(async_iterable)
🔹 Python 3.10+
返回异步迭代器(用于 async for 语句)。
# 用于异步生成器场景中
anext(async_iterator[, default])
🔹 Python 3.10+
获取异步迭代器的下一个元素。
# 通常用于 async 上下文中
enumerate(iterable, start=0)
返回带索引的迭代器,元素为 (index, item)。
for i, ch in enumerate("abc"):print(i, ch)
# 0 a
# 1 b
# 2 c
filter(function, iterable)
筛选 iterable 中使 function(item) 为 True 的元素。
list(filter(lambda x: x % 2 == 0, range(5))) # [0, 2, 4]
map(function, iterable, …)
将 function 应用于 iterable 的每个元素。
list(map(str.upper, ['a', 'b'])) # ['A', 'B']
zip(*iterables)
并行组合多个可迭代对象为元组序列。
list(zip([1, 2], ['a', 'b'])) # [(1, 'a'), (2, 'b')]
iter(obj[, sentinel])
获取对象的迭代器;或创建带哨兵值的调用器迭代器。
it = iter([10, 20])
next(it) # 10# 特例:可从函数创建终止控制的迭代器
next(iterator[, default])
从迭代器中取下一个值,若耗尽则返回 default(若提供)。
next(iter("abc")) # 'a'
reversed(seq)
返回反向迭代器,仅适用于序列类型(如 list、str)。
list(reversed("abc")) # ['c', 'b', 'a']
继续添加中…
四、字符串与字符处理函数
ascii(obj)
返回对象的 ASCII 表示(转义非 ASCII 字符)。
ascii("你好") # '\u4f60\u597d'
bin(x)
返回整数的二进制字符串。
bin(10) # '0b1010'
chr(i)
返回 Unicode 编码为 i 的字符。
chr(97) # 'a'
format(value, format_spec=‘’)
返回格式化字符串(等价于 format() 方法)。
format(255, 'x') # 'ff'
hex(x)
返回整数的十六进制表示。
hex(255) # '0xff'
oct(x)
返回整数的八进制表示。
oct(8) # '0o10'
ord©
返回字符的 Unicode 编码值。
ord('a') # 97
repr(obj)
返回对象的“官方字符串表示”,通常可被 eval() 执行。
repr("abc") # "'abc'"
五、输入输出与执行控制
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
标准输出函数,可指定分隔符、结尾等。
print("Hello", "World", sep=", ", end="!") # Hello, World!
input(prompt=None)
接收用户输入,返回字符串。
name = input("Your name: ")
eval(expression, globals=None, locals=None)
计算字符串表达式的值。
eval("2 + 2") # 4
exec(object, globals=None, locals=None)
执行任意 Python 代码字符串或代码对象。
exec("x = 5")
print(x) # 5
compile(source, filename, mode)
将字符串编译为代码对象,用于 eval() 或 exec()。
code = compile("3+4", "<string>", "eval")
eval(code) # 7
六、对象检查与反射
callable(obj)
判断对象是否为可调用(函数、类、方法等)。
callable(len) # True
getattr(obj, name[, default])
获取对象属性(字符串形式指定)。
getattr("abc", "upper")() # 'ABC'
hasattr(obj, name)
判断对象是否有某属性。
hasattr(str, "split") # True
setattr(obj, name, value)
为对象设置属性值。
class A: pass
setattr(A, "x", 42)
A.x # 42
delattr(obj, name)
删除对象属性。
class B:y = 10
delattr(B, "y")
id(obj)
返回对象的“身份标识”(地址)。
id("abc") # 返回一个整数(唯一 ID)
type(obj) / type(name, bases, dict)
返回对象类型,或动态创建新类型。
type(123) # <class 'int'>
isinstance(obj, classinfo)
判断对象是否属于某类或其子类。
isinstance(3.5, float) # True
issubclass(cls, classinfo)
判断类是否为另一个类的子类。
issubclass(bool, int) # True
七、类与方法控制函数
classmethod(function)
将函数包装为类方法,第一个参数是类本身。
class A:@classmethoddef hello(cls):return cls.__name__A.hello() # 'A'
staticmethod(function)
将函数包装为静态方法,无需传递实例或类。
class A:@staticmethoddef greet():return "Hi!"A.greet() # 'Hi!'
property(fget=None, fset=None, fdel=None, doc=None)
将方法定义为属性(可读/写/删)。
class Circle:def __init__(self, r):self._r = r@propertydef radius(self):return self._rc = Circle(5)
c.radius # 5
super([type[, obj]])
用于调用父类方法。
class A:def greet(self): return "Hello"class B(A):def greet(self): return super().greet() + " from B"B().greet() # "Hello from B"
八、容器构造函数
list([iterable])
构建列表。
list("abc") # ['a', 'b', 'c']
tuple([iterable])
构建元组。
tuple([1, 2]) # (1, 2)
dict([mapping or iterable])
构建字典。
dict(a=1, b=2) # {'a': 1, 'b': 2}
set([iterable])
构建集合。
set([1, 2, 2]) # {1, 2}
frozenset([iterable])
构建不可变集合。
frozenset("abca") # frozenset({'a', 'b', 'c'})
九、作用域与变量访问
globals()
返回当前全局作用域的字典。
globals()["x"] = 42
x # 42
locals()
返回当前局部作用域的变量字典。
def f(): a = 1; return locals()
vars([object])
返回对象的 __dict__,或当前本地变量。
class A:def __init__(self): self.x = 1
vars(A()) # {'x': 1}
十、内存与字节工具
bytes([source[, encoding[, errors]]])
构造不可变字节对象。
bytes("hi", "utf-8") # b'hi'
bytearray([source[, encoding[, errors]]])
构造可变字节数组。
bytearray("hi", "utf-8") # bytearray(b'hi')
memoryview(obj)
返回给定对象的内存视图。
memoryview(b"abc")[1] # 98
十一、其他函数
object()
返回一个最基本的对象实例。
object() # <object object at ...>
help([object])
调用内置帮助系统。
help(str)
open(file, mode=‘r’, …)
打开文件。
f = open("file.txt", "r")
ord(char)
返回字符的整数 Unicode 编码。
ord('A') # 65
slice(start, stop[, step])
创建切片对象。
s = slice(1, 4)
"hello"[s] # 'ell'
sorted(iterable, *, key=None, reverse=False)
返回排序后的新列表。
sorted([3, 1, 2]) # [1, 2, 3]
len(s)
返回容器长度。
len("hello") # 5
breakpoint()
🔹 Python 3.7+
触发调试器(默认调用 pdb.set_trace())。
breakpoint()
import(name, globals=None, locals=None, fromlist=(), level=0)
底层的 import 实现函数。
math = __import__("math")
math.sqrt(16) # 4.0
总结与建议
- 内置函数是 Python 最精华的“基础工具库”,不容忽视!
- 掌握它们,不仅能减少代码量、提升效率,还能避免命名错误和轮子重造。
- 配合
help()和实际练习理解其行为细节。
相关文章:
【内置函数】84个Python内置函数全整理
Python 内置函数全集(完整分类 参数详解 示例) 文章目录 Python 内置函数全集(完整分类 参数详解 示例)一、数值与数学函数abs(x)divmod(a, b)pow(x, y, modNone)round(number[, ndigits])sum(iterable, /, start0)hash(obj) …...
【每天一个知识点】模式识别
“模式识别”是一种从数据中识别出规律、结构或趋势的技术,它广泛应用于人工智能、机器学习、图像处理、语音识别、自然语言处理等领域。简单来说,就是让计算机学会“看出”数据中的规律,比如: 从图像中识别人脸(人脸识…...
Codeforces Educational Round 177 Div. 2 【B题,C待补
B 二分 题意 样例 5 3 10 3 4 2 1 512 找最右边的L下标即可 思路 二分最靠右的L端点,R端点取最右端(n*k处),找到后,答案就是L的位置(pos),(因为如果pos满足,则pos左边的所有下标都满足 代码 const in…...
哈夫曼编码和哈夫曼树
哈夫曼编码(Huffman Coding) 是一种基于字符出现频率的无损数据压缩算法,通过构建哈夫曼树(Huffman Tree) 来生成最优前缀编码,使得高频字符用短编码,低频字符用长编码,从而实现高效…...
中西面点实训室虚拟仿真操作平台
在餐饮行业蓬勃发展的当下,中西面点作为其中极具特色与市场需求的重要分支,对于专业人才的渴望愈发强烈。一个功能完备、设施先进的中西面点实训室,已然成为培养高素质面点专业人才的关键阵地。凯禾瑞华——实训室建设 一、中西面点实训室建设…...
Python字典深度解析:高效键值对数据管理指南
一、字典核心概念解析 1. 字典定义与特征 字典(Dictionary)是Python中基于哈希表实现的无序可变容器,通过键值对存储数据,具有以下核心特性: 键值对结构:{key: value}形式存储数据快…...
C++游戏服务器开发之⑦redis的使用
目录 1.当前进度 2.守护进程 3.进程监控 4.玩家姓名添加文件 5.文件删除玩家姓名 6.redis安装 7.redis存取命令 8.redis链表存取 9.redis程序结构 10.hiredisAPI使用 11.基于redis查找玩家姓名 12.MAKEFILE编写 13.游戏业务实现总结 1.当前进度 2.守护进程 3.进程监…...
模拟投资大师思维:AI对冲基金开源项目详解
这里写目录标题 引言项目概述核心功能详解多样化的AI投资智能体灵活的运行模式透明的决策过程 安装和使用教程环境要求安装步骤基本使用方法运行对冲基金模式运行回测模式 应用场景和实际价值教育和研究价值潜在的商业应用与现有解决方案的对比局限性与发展方向 结论 引言 随着…...
Cocos Creater打包安卓App添加隐私弹窗详细步骤+常见问题处理
最终演示效果,包含所有代码内容 + 常见错误问题处理 点击服务协议、隐私政策,跳转到相关网页, 点击同意进入游戏,不同意关闭应用 一,添加Activity,命名为MyLaunchActivity 二,编写MyLaunchActivity.java的内容 package com.cocos.game.launch;import android.os.Bund…...
Android 热点二维码简单示例
Android 热点二维码简单示例 一、前言 Android 原生设置有热点二维码分享功能,有些系统应用也会有这个需求。 下面看看是如何实现的。 本文是一个比较简单的内容。 二、热点二维码生成实现 1、效果 整个应用就一个普通的Activity,显示一个按钮和二维…...
探秘Python 工匠:案例、技巧与工程实践:解锁Python进阶的通关秘籍
重要的放前面 Python 工匠:案例、技巧与工程实践 探秘Python 工匠:案例、技巧与工程实践:解锁Python进阶的通关秘籍 在Python的编程世界中,从入门小白到技术大牛的进阶之路往往充满挑战。Python工匠:案例、技巧与工…...
JAVAEE(网络原理—UDP报头结构)
我们本篇文章要讲的是UDP的报头结构以及注意事项。 下面呢,我先说一下UDP是什么? 1.UDP是什么? UDP是一种网络协议。网络协议是计算机网络中,为了使不同设备之间能够准确、高效地进行数据交换和通信,而预先制定的一…...
通过docker create与export来分析诊断故障镜像
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
LINUX419 更换仓库(没换成)find命令
NAT模式下虚拟机需与网卡处在同一个网段中吗 和VM1同个网段 会不会影响 这个很重要 是2 改成点2 倒是Ping通了 为啥ping百度 ping到别的地方 4399 倒是ping通了 准备下载httpd包 下不下来 正在替换为新版本仓库 报错 failure: repodata/repomd.xml from local: [Er…...
鸿蒙学习笔记(5)-HTTP请求数据
一、Http请求数据 http模块是鸿蒙内置的一个模块,提供了网络请求的能力。不需要再写比较原始的AJAS代码。 ps:在项目中如果要访问网络资源,不管是图片文件还是网络请求,必须给项目开放权限。 (1)网络连接方式 HTTP数…...
AI文生图工具推荐
一、AI文生图技术实现原理 AI文生图(Text-to-Image)基于生成对抗网络(GAN)或扩散模型(Diffusion Model)实现,通过深度学习将文本描述转化为图像。其核心流程包括: 文本编码…...
Spark-SQL核心编程
Spark-SQL核心编程 数据加载与保存 加载数据 spark.read.load 是加载数据的通用方法。如果读取不同格式的数据,可以对不同的数据格式进行设定 保存数据 df.write.save 是保存数据的通用方法。如果保存不同格式的数据,可以对不同的数据格式进行设定 …...
github 项目迁移到 gitee
1. 查看远程仓库地址 git remote -v 2. 修改远程仓库地址 确保 origin 指向你的 Gitee 仓库,如果不是,修改远程地址。 git remote set-url origin https://gitee.com/***/project.git 3. 查看本地分支 git branch 4. 推送所有本地分支 git p…...
AcWing 11:背包问题求方案数 ← 0-1背包
【题目来源】 https://www.acwing.com/problem/content/11/ 【题目描述】 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总…...
React应用开发学习指南
AI生成研究报告:关键词 React应用开发 React 已经成为前端 Web 开发领域的主导力量,它是一个免费且开源的 JavaScript 库,主要用于构建用户界面 (UI) 1。其多功能性延伸到为 Web 和原生应用程序创建 UI,使其成为行业内备受追捧的…...
LVGL源码(9):学会控件的使用(自定义弹窗)
LVGL版本:8.3 LVGL的控件各式各样,每种控件都有自己的一些特性,当我们想要使用一个LVGL控件时,我们首先可以通过官网去了解控件的一些基本特性,官网链接如下: LVGL Basics — LVGL documentation…...
HarmonyOs学习 环境配置后 实验1:创建项目Hello World
HarmonyOS开发入门:环境配置与Hello World实验 实验目标 掌握HarmonyOS开发环境配置,创建首个HarmonyOS应用并实现"Hello World"界面展示 实验准备 已安装DevEco Studio开发环境已配置HarmonyOS开发依赖项熟悉基本TypeScript/ArkTS语法&am…...
国产SMT贴片机自主技术突破解析
内容概要 随着电子信息产业对精密制造需求的持续升级,国产SMT贴片机的技术突破已成为装备自主化进程的关键节点。本文聚焦设备研发的三大核心领域:高动态运动控制系统通过线性电机与数字信号处理技术的融合,将重复定位精度提升至5μm级别&am…...
8、表单控制:预言水晶球——React 19 复杂表单处理
一、水晶球的预言本质 "每个表单都是时空裂缝中的预言容器,"占卜课教授特里劳妮凝视着水晶球,"React-Hook-Form与Formik的融合,让数据捕获如同捕捉未来碎片!" ——以魔法部神秘事务司的预言厅为隐喻…...
8 编程笔记全攻略:Markdown 语法精讲、Typora 编辑器全指南(含安装激活、基础配置、快捷键详解、使用技巧)
1 妙笔在手,编程无忧! 1.1 编程为啥要做笔记?这答案绝了! 嘿,各位键盘魔法师!学编程不记笔记,就像吃火锅不配冰可乐 —— 爽到一半直接噎住!你以为自己脑子是顶配 SSD,结…...
【MySQL】SQL语句在MySQL中的执行过程?主要存储引擎区别?
MySQL SQL语句执行过程详解 作为面试官,我来详细剖析一条SQL语句在MySQL中的完整执行过程,这是每个后端开发者都应该掌握的核心知识。 一、连接阶段 建立连接 客户端通过TCP/IP协议与MySQL服务器建立连接(默认3306端口)服务器验证用户名、密码和权限…...
Linux(autoDL云服务器)mamba-ssm环境安装——一次成功!
1.创建环境选择torch2.0, cuda11.8,python3.8 2.从GitHub官网下载cp38对应的,causl_conv1d,和mamba-ssm2.2.2。下载入下图所示。 3.直接用finalshell 或者xshell连接服务器上传,到根目录下面。 直接用pip install *…...
代码审计入门 原生态sql注入篇
前置知识: 漏洞形成的原因: 1、可控的参数 2、函数缺陷 代码审计的步骤: 1、全局使用正则搜索 漏洞函数 ,然后根据函数看变量是否可控,再看函数是否有过滤 2、根据web的功能点寻找函数,然后根据函数看…...
spring Ai---向量知识库(一)
在一些垂直领域以及公司内部信息相关或者实时性相关的大模型应用,就无法直接使用chatGPT。 这个时候,向量知识库就进入了。 通过坐标向量最接近的即为匹配相关答案。 向量模型定义:将文档向量化,保证内容越相似的文本,…...
jmeter利用csv进行参数化和自动断言
1.测试数据 csv测试数据如下(以注册接口为例) 2.jemer参数化csv设置 打开 jmeter,添加好线程组、HTTP信息头管理器、CSV 数据文件设置、注册请求、响应断言、查看结果树 1) CSV 数据文件设置 若 CSV 中数据包含中文,…...
