六個(gè)Python3中使用最廣泛的內(nèi)置函數(shù)總結(jié)
1、引言
小屌絲:魚(yú)哥, 都說(shuō)要想代碼寫(xiě)的溜,Lamdba不能少。
小魚(yú):你在項(xiàng)目代碼多寫(xiě)幾個(gè)lamdba試試,看看架構(gòu)師找不找你喝茶水。
小屌絲:…
小魚(yú):逗你玩… 架構(gòu)師哪舍得自己花錢(qián)買(mǎi)茶葉,都是能蹭就蹭…
小屌絲:…
小魚(yú):你這突然提到lamdba函數(shù),是想了解點(diǎn)什么??
小屌絲:嘿嘿,真是什么都瞞不過(guò)你, 我就想把python最常用的內(nèi)置函數(shù)在重新捋一捋,
小魚(yú):說(shuō)實(shí)話。
小屌絲:你也知道,我女神最近在學(xué)習(xí)python,所以我想…
小魚(yú):靠… 就知道你是這樣的!
小屌絲:魚(yú)哥,我也是身不由己啊, 不然… 說(shuō)出來(lái)都是眼淚。
小魚(yú):行了,別裝的這么可憐, 我給你捋一捋不就行了。
小屌絲:啥也別說(shuō)了,此時(shí)我想…
2、內(nèi)置函數(shù)詳解
2.1 Lamdba 函數(shù)
lambda 函數(shù)用于創(chuàng)建匿名函數(shù),又被稱(chēng)為lambda表達(dá)式。
實(shí)際上它只是一個(gè)表達(dá)式的存在,如果在代碼編寫(xiě)過(guò)程中需要實(shí)現(xiàn)簡(jiǎn)單的函數(shù)邏輯但是單獨(dú)寫(xiě)一個(gè)函數(shù)又比較麻煩就可以使用lambda表達(dá)式只需要一行代碼就可以完成了。
比如需要實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加法計(jì)算,使用基本的函數(shù)來(lái)實(shí)現(xiàn)需要?jiǎng)?chuàng)建一個(gè)add_1函數(shù)。
示例:
實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加法計(jì)算。
一、基本函數(shù)
代碼示例
# -*- coding:utf-8 -*- # @Time : 2022-08-24 # @Author : Carl_DJ #基本函數(shù)來(lái)實(shí)現(xiàn)加法計(jì)算 def add_ms(x,y): return x + y print(f'輸出結(jié)果:{add_ms(8,9)}')
運(yùn)行結(jié)果
輸出結(jié)果:17
二、lamdba表達(dá)式
使用lamdba表達(dá)式來(lái)實(shí)現(xiàn)
代碼示例
# -*- coding:utf-8 -*- # @Time : 2022-08-24 # @Author : Carl_DJ #lamdba表達(dá)式來(lái)實(shí)現(xiàn) add_lamd = lambda x,y:x+y print(f'lamdba表達(dá)式輸出結(jié)果:{add_lamd(5,10)}')
運(yùn)行結(jié)果
lamdba表達(dá)式輸出結(jié)果:15
解析:
lambda x,y: x + y 表示 x,y是作為參數(shù),x + y是作為函數(shù)的運(yùn)算邏輯被執(zhí)行。
2.2 Map 函數(shù)
map函數(shù)可以使用另外一個(gè)函數(shù)轉(zhuǎn)換整個(gè)可迭代對(duì)象的函數(shù),包括將字符串轉(zhuǎn)換為數(shù)字、數(shù)字的四舍五入等等。
之所以使用map函數(shù)來(lái)完成這些事情可以節(jié)約內(nèi)存,使代碼的運(yùn)行速度提高,并且使用的代碼量比較少。
2.2.1 數(shù)字轉(zhuǎn)換
示例:
將一個(gè)字符串的數(shù)組轉(zhuǎn)換成數(shù)字的數(shù)組的形式,這里用兩種方式:
- 傳統(tǒng)的for循環(huán)方式
- map函數(shù)
接下來(lái),我們用代碼轉(zhuǎn)換。
一、傳統(tǒng)for循環(huán)方式
代碼示例
# -*- coding:utf-8 -*- # @Time : 2022-08-24 # @Author : Carl_DJ #for 循環(huán)來(lái)讀取res列表的值 strings = ['10','20','30','40','50'] res = [] for str in strings: res.append(int(str)) print(f'輸出結(jié)果:{res}')
運(yùn)行結(jié)果
輸出結(jié)果:[10, 20, 30, 40, 50]
二、map函數(shù)
我們使用map函數(shù)方式來(lái)轉(zhuǎn)換。
代碼示例
# -*- coding:utf-8 -*- # @Time : 2022-08-24 # @Author : Carl_DJ #調(diào)用map函數(shù) strings = ['11','22','33','44','55'] res_map = map(int,strings) print(f'map函數(shù)輸出結(jié)果:{list(res_map)}')
運(yùn)行結(jié)果
map函數(shù)輸出結(jié)果:[11, 22, 33, 44, 55]
可以看到,map函數(shù),一行代碼就可以轉(zhuǎn)換完成,非常方便。
2.2.2 字母大小寫(xiě)轉(zhuǎn)換
解析:
map(int,strings),其中int是作為函數(shù)作為參數(shù)傳入的,而strings就是可以迭代的對(duì)象。
示例
把小寫(xiě)英文字母轉(zhuǎn)換成大寫(xiě)英文字母
代碼示例
# -*- coding:utf-8 -*- # @Time : 2022-08-24 # @Author : Carl_DJ ''' 代碼實(shí)現(xiàn)功能: 創(chuàng)建函數(shù),來(lái)轉(zhuǎn)換可轉(zhuǎn)化的序列數(shù)據(jù) 初始化make_super函數(shù),將小寫(xiě)英文轉(zhuǎn)換成大寫(xiě)英文 ''' #定義make_super函數(shù), def make_super(text): res_text = text.upper() return res_text #定義英文單詞列表 words = ['python', 'java', 'ruby','go'] #轉(zhuǎn)化 words_res = list(map(make_super, words)) print(f'轉(zhuǎn)換結(jié)果:{words_res}')
運(yùn)行結(jié)果
轉(zhuǎn)換結(jié)果:['PYTHON', 'JAVA', 'RUBY', 'GO']
使用map(make_super, words),其中make_super是作為函數(shù)傳入的,而words作為可序列化數(shù)據(jù)。
2.3 Filter 函數(shù)
定義
filter函數(shù):使用該函數(shù)可以有效的過(guò)濾掉不需要的列表中的數(shù)據(jù)元素。
方法
''' filter(function, iterable) '''
在邏輯處理中,同樣是需要一個(gè)處理函數(shù)和一個(gè)可序列化的數(shù)據(jù)。
# -*- coding:utf-8 -*- # @Time : 2022-08-24 # @Author : Carl_DJ #定義列表 list_num = [11,22,33,44,55,66,77] #過(guò)濾掉偶數(shù),保留奇數(shù) new_list = filter(lambda n:n % 2 == 1,list_num) print(f'過(guò)濾后的結(jié)果:{list(new_list)}')
運(yùn)行結(jié)果
過(guò)濾后的結(jié)果:[11, 33, 55, 77]
通過(guò)運(yùn)行結(jié)果,可以看到過(guò)濾掉了所有的偶數(shù)元素,留下了奇數(shù)元素。
2.4 Reduce 函數(shù)
定義
reduce函數(shù)通常用于計(jì)算整個(gè)列表的邏輯運(yùn)算,即將一個(gè)函數(shù)的運(yùn)算可以添加到這個(gè)列表的每個(gè)元素上面。
方法
''' reduce(function, iterable[, initializer]) '''
代碼示例
計(jì)算一個(gè)列表中每個(gè)元素之間的相乘的結(jié)果:
# -*- coding:utf-8 -*- # @Time : 2022-08-24 # @Author : Carl_DJ from functools import reduce #列表 list_re = [10,20,30,40,50,] #計(jì)算每個(gè)元素的乘積 print(f'計(jì)算結(jié)果:{reduce(lambda x, y: x * y, list_re)}')
運(yùn)行結(jié)果
計(jì)算結(jié)果:12000000
2.5 Enumerate 函數(shù)
定義
enumerate 函數(shù):一般用于可序列化數(shù)據(jù)的處理上面,而python中的可序列化數(shù)據(jù)又比較多,所以,還是蠻重要的。
代碼示例
可以使用該函數(shù)直接遍歷出一個(gè)可序列化數(shù)據(jù)的下標(biāo)索引以及對(duì)應(yīng)的數(shù)據(jù)。
# -*- coding:utf-8 -*- # @Time : 2022-08-24 # @Author : Carl_DJ #定義列表內(nèi)容 words = ['python', 'java', 'ruby','go'] #遍歷執(zhí)行,返回新的列表 for index, data in enumerate(words): print(f'當(dāng)前索引:{index},當(dāng)前數(shù)據(jù):{data}')
運(yùn)行結(jié)果
當(dāng)前索引:0,當(dāng)前數(shù)據(jù):python
當(dāng)前索引:1,當(dāng)前數(shù)據(jù):java
當(dāng)前索引:2,當(dāng)前數(shù)據(jù):ruby
當(dāng)前索引:3,當(dāng)前數(shù)據(jù):go
2.6 Zip 函數(shù)
定義
zip函數(shù):可以同時(shí)遍歷多個(gè)列表并將相同位置的元素組合成一個(gè)元祖。
代碼示例
#定義空列表 list_res = [] #遍歷列表使其相同位置元素能組合成 for m in zip([1, 2, 3, 4, 5], ['python', 'java', 'ruby', 'go', 'C#']): list_res.append(m) print(f'輸出結(jié)果:{list_res}')
運(yùn)行結(jié)果
輸出結(jié)果:[(1, 'python'), (2, 'java'), (3, 'ruby'), (4, 'go'), (5, 'C#')]
3、總結(jié)
看到這里,今天的分享差不多就完事了。
今天共分享了六種常用的內(nèi)置函數(shù):
- Lamdba 函數(shù)
- Map 函數(shù)
- Filter 函數(shù)
- Reduce 函數(shù)
- Enumerate 函數(shù)
- Zip 函數(shù)
在實(shí)際的工作中,這些都是非常實(shí)實(shí)在在常用的函數(shù),
所以,這些也都是必須要掌握的知識(shí)。
到此這篇關(guān)于六個(gè)Python3中使用最廣泛的內(nèi)置函數(shù)總結(jié)的文章就介紹到這了,更多相關(guān)Python3內(nèi)置函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python爬蟲(chóng)爬取博客園問(wèn)題列表所有的問(wèn)題
這篇文章主要介紹了詳解Python爬蟲(chóng)爬取博客園問(wèn)題列表所有的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python從使用線程到使用async/await的深入講解
Python在3.5版本中引入了關(guān)于協(xié)程的語(yǔ)法糖async和await,所以下面這篇文章主要給大家介紹了關(guān)于Python從使用線程到使用async/await的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-09-09Pandas數(shù)據(jù)分析常用函數(shù)的使用
本文主要介紹了Pandas數(shù)據(jù)分析常用函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01親手教你用Python打造一款摸魚(yú)倒計(jì)時(shí)界面
前段時(shí)間在微博看到一段摸魚(yú)人的倒計(jì)時(shí)模板,感覺(jué)很有意思,于是我用了一個(gè)小時(shí)的時(shí)間寫(xiě)一個(gè)頁(yè)面出來(lái),下面小編把實(shí)現(xiàn)過(guò)程分享給大家,對(duì)Python摸魚(yú)倒計(jì)時(shí)界面感興趣的朋友一起看看吧2021-12-12分享python中matplotlib指定繪圖顏色的八種方式
這篇文章主要給大家分享的是python中matplotlib指定繪圖顏色的八種方式,在使用matplotlib的pyplot庫(kù)進(jìn)行繪圖時(shí),經(jīng)常會(huì)發(fā)現(xiàn)各種開(kāi)源代碼指定“color”的方式并不一致,下面就向大家展示8種指定color的方式,需要的朋友可以參考一下2022-03-03python3.6.3轉(zhuǎn)化為win-exe文件發(fā)布的方法
今天小編就為大家分享一篇python3.6.3轉(zhuǎn)化為win-exe文件發(fā)布的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10