真香!详解 Python 好用的内置函数

作者 | pythonic生物人
来源 | pythonic生物人
Python3 解释器内置了很多函数,可以随时调用它们,内置函数简介如下表,直接点击函数名可直达详细用法。

python内置函数表

enumerate
my_list?=?['apple',?'banana',?'grapes',?'pear',?'apple']?
for?i?in?enumerate(my_list):#默认start从0开始
????print(i)#i为一个元组
my_list?=?['apple',?'banana',?'grapes',?'pear',?'apple']?
for?i?in?enumerate(my_list,1):#设置start为1
????print(i)
(1, 'apple')
(2, 'banana')
(3, 'grapes')
(4, 'pear')
(5, 'apple')
filter
filter_numbers?=?filter(lambda?x:?x?<?0,?range(-6,?6))
#range(-6, 6)中元素经过lambda x: x <?0判断为True的返回。
list(filter_numbers)#filter_numbers为一个迭代对象,加list转换为列表。
[-6, -5, -4, -3, -2, -1]
map
语法:map(function, iterable, ...)将function运用于iterable中每个元素,收集结果输出为一个新的iterable对象。匿名函数(lambdas)经常配合map函数一起使用。
items?=?[1,?2,?3,?4,?5]
list(map(lambda?x:?x**2,?items))#lambda?x:?x**2作用于items中每个元素
list(map(lambda?x,?y:?x?+?y,?range(-2,?2),?range(1,?5)))#传入两个iterable对象range(-2,?2),?range(1,?5)
print
语法:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)sep, end, file 和 flush 如果存在,必须以关键字参数的形式给出。
*objects,每一次要输出的多个对象,每个对象之间使用,分割;
sep,定义输出时,每个对象之间的分割符,默认为一个空格;
end,每一次输出多个对象后末尾结束符号,默认为换行符;
file,要写入的对象文件,默认为 sys.stdout
flush,输出是否被缓存通常决定于 file,但如果 flush 关键字参数为真值,流会被强制刷新。#没明白flush作用
with?open("./new1.txt","w")?as?f:#写入模式打开文件new1.txt
????print("haha","crycry",sep="@@",end="!",file=f,flush=True)#设置分隔符为@@,末尾符号为,输出文件为new1.txt
range
start,计数开始处,默认为0开始;
stop,计数结束处,不包含stop;
step,步长,隔几个数计数一次。
In?[3]:?list(range(5))#默认start为0忽略
Out[3]:?[0,?1,?2,?3,?4]
In?[4]:?list(range(0,5))#默认步长为1忽略
Out[4]:?[0,?1,?2,?3,?4]
In?[13]:?list(range(0,5,1))#步长为1
Out[13]:?[0,?1,?2,?3,?4]
In?[12]:?list(range(-5,-1))#步长为负
Out[12]:?[-5,?-4,?-3,?-2]
round
语法:round(float,n),可粗放的理解为取float对象的四舍五入值。
In?[22]:?round(1.55)#默认四舍五入取整数
Out[22]:?2
In?[23]:?round(1.55,1)
Out[23]:?1.6
In?[24]:?round(0.5,1)
Out[24]:?0.5
In?[25]:?round(0.5)#尽然为0,而不是数学中的1
Out[25]:?0
In?[26]:?round(2.675,2)#这个例子更开脑洞,尽然不会返回2.68,跟浮点数的精度有关。
Out[26]:?2.67
In?[27]:?print('{:.20f}'.format(2.675))#康康2.675精度为20时输出的是个什么鬼
2.67499999999999982236#这就可以理解为什么不是2.68了
def?new_round(_float,?_len):
????"""
????Parameters
????----------
????_float:?float
????_len:?int,?指定四舍五入需要保留的小数点后几位数为_len
?????
????Returns
????-------
????type?==>?float,?返回四舍五入后的值
????"""
????if?isinstance(_float,?float):
????????if?str(_float)[::-1].find('.')?<=?_len:
????????????return(_float)
????????if?str(_float)[-1]?==?'5':
????????????return(round(float(str(_float)[:-1]+'6'),?_len))
????????else:
????????????return(round(_float,?_len))
????else:
????????return(round(_float,?_len))
new_round(2.675,2)
2.68
zip
list1?=?range(1,5,1)
list2?=?list("abcd")
list3?=?range(1,3)
list(zip(list1,list2))
list(zip(list1,list3))#iterable对象不一致时,取短迭代对象的长度
dict(zip(list1,list2))#zip常用来生成字典
参考资料:
https://docs.python.org/zh-cn/3.7/library/functions.html


分享
点收藏
点点赞
点在看
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675












AI100
