了解 Python 最常见的内置函数(python常用内置函数表)
off999 2024-09-14 07:11 73 浏览 0 评论
Python 的内置函数基础
Python 的内置函数是该语言不可或缺的一部分,无需额外的库即可提供基本功能。这些函数始终可用,无需导入任何模块即可使用。它们是在 C for CPython(标准 Python 实现)中实现的,这确保了它们针对性能进行了高度优化。
为什么存在内置函数
内置函数的存在使语言更加用户友好和高效。它们提供了一种无需编写其他代码即可执行常见任务的方法,这有助于开发人员节省时间并减少出错的可能性。内置函数还通过提供标准化的操作执行方式来提高代码的可读性和可维护性。这种一致性使开发人员能够快速理解和使用其他人编写的代码。
此外,内置函数封装了复杂的逻辑和优化,使开发人员更容易高效地执行操作,而无需了解底层实现细节。这种抽象对初学者特别有益,因为它允许他们专注于学习语言和解决问题,而不是担心性能和优化。
如何使用内置函数
几乎每个 Python 程序都使用内置函数。它们提供了广泛的功能,从基本的输入/输出操作到复杂的数据操作。以下是如何使用内置函数的一些关键方面:
- 基本操作: len() 和 type() 等 print() 函数用于基本操作,例如显示输出、确定对象长度和检查变量类型。
- 数据操作: max() 、 min() 和 sorted() 等 sum() 函数用于执行各种数据操作,例如计算总和、查找最大值和最小值以及对数据进行排序。
- 函数式编程:像 、 filter() 和 reduce() (来自 functools 模块)这样的 map() 函数通过允许开发人员将函数应用于序列和过滤数据来支持函数式编程范式。
- 迭代和聚合:、 enumerate() 和 range() 等 zip() 函数用于迭代和聚合,从而更轻松地遍历数据和使用索引。
使用内置函数的好处
- 效率:内置函数在 C for CPython 中实现,使其非常高效。它们通常比用纯 Python 编写的等效代码更快地执行操作。
- 可靠性:内置函数经过全面测试并被广泛使用,这意味着与自定义实现相比,它们更可靠且不易出现错误。
- 可读性:使用内置函数使代码更具可读性和可理解性。其他开发人员更容易阅读和理解使用标准函数的代码。
- 方便:内置功能提供了一种执行常见任务的便捷方式。开发人员无需为经常执行的任务编写额外的代码。
关键内置功能的实现和优化
在这里,将看看 Python 的一些关键内置函数的实现细节和优化。了解这些函数是如何实现和优化的,可以帮助你编写更高效的代码,并更好地理解 Python 内置功能的强大功能。
print()
该 print() 函数用于将数据输出到控制台。它可以处理多个参数,默认情况下,这些参数被转换为字符串并与空格连接。
print("Hello,", "world!")该 print() 函数是用 C 语言在 CPython 中实现的。它使用 sys.stdout file 对象来写入输出,该输出被缓冲以提高性能。默认情况下, print() 在输出末尾添加换行符,可以使用 end 参数自定义该字符。
print("Hello,", "world!", end=" ")
print("This is on the same line.")缓冲的使用减少了系统调用的次数,使函数更加高效。
len()
该 len() 函数返回对象的长度,该对象可以是序列(如字符串、列表或元组)或集合(如字典或集合)。
my_list = [1, 2, 3, 4]
print(len(my_list))对于序列,该 len() 函数直接从对象的元数据中检索 length 属性,元数据存储为对象结构的一部分。这意味着在恒定时间(O(1)) len() 下运行,使其非常高效。
sum()
该 sum() 函数返回可迭代对象中所有项的总和,例如列表或元组。
numbers = [1, 2, 3, 4]
print(sum(numbers))该 sum() 函数使用用 C 编写的高度优化的循环来遍历元素并将它们加在一起。此实现最大限度地减少了与 Python 中的循环相关的开销,使函数非常快。此外, sum() 可以采用第二个参数来指定求和的初始值。
numbers = [1, 2, 3, 4]
print(sum(numbers, 10)) # Starts the sum at 10max()和min()
max() 和 min() 函数分别返回可迭代对象中的最大和最小项。
numbers = [1, 2, 3, 4]
print(max(numbers))
print(min(numbers))这两个 max() min() 函数都只迭代一次输入可迭代,为当前最大值或最小值保留单个变量。这确保了这些函数在线性时间 (O(n)) 内运行,其中 n 是可迭代对象中的元素数。这些函数是用 C 语言实现的,这增加了它们的效率。
sorted()
该 sorted() 函数从可迭代对象中的项返回一个新的排序列表。
numbers = [4, 2, 1, 3]
print(sorted(numbers))该 sorted() 函数使用 Timsort 算法,该算法是从合并排序和插入排序派生的混合排序算法。Timsort 非常高效,在最坏的情况下时间复杂度为 O(n log n)。它经过优化,可在真实数据上表现良好,这些数据通常包含部分有序序列。
Timsort 的工作原理是将数据划分为称为“运行”的小块,然后合并它们。它利用数据中的现有顺序来减少所需的比较和交换次数。
更高级的内置功能
除了基本的内置函数外,Python 还提供了一套高级内置函数,可实现更复杂的操作。这些函数支持函数式编程范式和高级数据操作技术,使其成为开发人员武器库中的强大工具。在本节中,我们将深入探讨三个高级内置函数: map() 、 filter() 和 zip() 。
map()
该 map() 函数将指定的函数应用于可迭代对象中的所有项,并返回一个映射对象,该对象是迭代器。
用法示例:
numbers = [1, 2, 3, 4]
squared = map(lambda x: x**2, numbers)
print(list(squared))在此示例中, map() 将 lambda 函数 lambda x: x**2 应用于列表中 numbers 的每个项目,从而生成一个新的平方值迭代器。
该 map() 函数在 CPython 中用 C 语言实现,这保证了其效率。它以懒惰的方式运行,这意味着它只在需要时将该功能应用于项目。这样可以避免创建中间列表,因为中间列表对于大型数据集来说可能是内存密集型的。
延迟计算允许 map() 高度内存效率,因为它动态生成每个值,而不是将所有结果存储在内存中。这在处理大型数据流或数据转换管道时特别有用。
filter()
该 filter() 函数从指定函数返回 true 的可迭代对象的元素构造迭代器。
用法示例:
numbers = [1, 2, 3, 4]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))在此示例中, filter() 将 lambda 函数 lambda x: x % 2 == 0 应用于列表中 numbers 的每个项目,从而生成偶数的迭代器。
该 filter() 函数也是用 C 语言实现的,并且像 一样 map() ,可以延迟运行。它仅在需要时计算可迭代的每个项目,如果函数返回 true,则包括输出迭代器中的项目。
这种延迟评估可最大程度地减少内存使用并提高性能,尤其是在处理大型数据集或组合多个筛选步骤时。通过避免创建中间列表, filter() 可以减少与数据操作相关的开销。
zip()
该 zip() 函数采用多个迭代对象(零个或多个),将它们聚合到元组中,并返回这些元组的迭代器。
用法示例:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped))在此示例中, zip() 将列表 list1 合并 list2 为元组迭代器,其中每个元组都包含输入列表中的相应元素。
该 zip() 函数是用 C 语言实现的,旨在提高效率。它并行迭代输入可迭代对象,即时创建元组,而无需将它们存储在内存中。这样 zip() 既省时又省内存。
zip() 一旦最短的输入可迭代对象用尽,就会停止创建元组,确保不会发生越界错误。这种设计 zip() 特别适用于组合来自多个来源的数据,同时保持性能和安全性。
结合高级内置功能
Python 内置函数的优势之一是它们的可组合性。通过组合 map() 、 filter() 和 zip() ,您可以使用最少的代码创建功能强大且富有表现力的数据转换。
例:
list1 = [1, 2, 3, 4]
list2 = ['one', 'two', 'three', 'four']
combined = zip(list1, list2)
filtered = filter(lambda x: x[0] % 2 == 0, combined)
result = map(lambda x: (x[0], x[1].upper()), filtered)
print(list(result))在此示例中, zip() 将 和 list2 合并 list1 为元组, filter() 选择第一个元素为偶数的元组,并将 map() 每个元组的第二个元素转换为大写。最终结果是满足指定条件的转换元组列表。
相关推荐
- 安全教育登录入口平台(安全教育登录入口平台官网)
-
122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...
- 大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)
-
大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...
-
- 哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
-
要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...
-
2026-02-04 09:03 off999
- 电信宽带测速官网入口(电信宽带测速官网入口app)
-
这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...
- 植物大战僵尸95版手机下载(植物大战僵尸95 版下载)
-
1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...
- 免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)
-
1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...
- 2025世界杯赛程表(2025世界杯在哪个国家)
-
2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...
- 下载搜狐视频电视剧(搜狐电视剧下载安装)
-
搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...
- 永久免费听歌网站(丫丫音乐网)
-
可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...
- 音乐格式转换mp3软件(音乐格式转换器免费版)
-
有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...
- 电子书txt下载(免费的最全的小说阅读器)
-
1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...
- 最好免费观看高清电影(播放免费的最好看的电影)
-
在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...
- 孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)
-
要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
16949认证费用是多少(16949审核员太难考了)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
windows7旗舰版多少钱(win7旗舰版要多少钱)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
