1. Python有哪些高階函數(shù),功能分別是什么
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、內(nèi)江網(wǎng)絡(luò)推廣、重慶小程序開(kāi)發(fā)、內(nèi)江網(wǎng)絡(luò)營(yíng)銷、內(nèi)江企業(yè)策劃、內(nèi)江品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供內(nèi)江建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
Python有三大高階函數(shù),分別是 map 、 reduce 、 filter 函數(shù)。
2. map高階函數(shù)
map函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)要求傳遞一個(gè)函數(shù)對(duì)象,第二個(gè)參數(shù)要求傳遞一個(gè)可迭代序列。直接看案例
運(yùn)行結(jié)果:
3. reduce高階函數(shù)
reduce高階函數(shù)位于functools模塊中,使用前需要先進(jìn)行導(dǎo)入。reduce高階函數(shù)可以有三個(gè)參數(shù),第一個(gè)參數(shù)要求傳遞一個(gè)函數(shù)對(duì)象(必傳),第二個(gè)參數(shù)要求傳遞一個(gè)可迭代序列(必傳),第三個(gè)函數(shù)是一個(gè)初始值(不必傳,可以有默認(rèn)值)。直接看案例
運(yùn)行結(jié)果:
4. filter高階函數(shù)
filter高階函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是一個(gè)函數(shù)對(duì)象,第二個(gè)參數(shù)是一個(gè)可迭代序列。直接看案例
運(yùn)行結(jié)果:
1、函數(shù)定義
①使用def關(guān)鍵字定義函數(shù)
②
def 函數(shù)名(參數(shù)1.參數(shù)2.參數(shù)3...):
"""文檔字符串,docstring,用來(lái)說(shuō)明函數(shù)的作用"""
#函數(shù)體
return 表達(dá)式
注釋的作用:說(shuō)明函數(shù)是做什么的,函數(shù)有什么功能。
③遇到冒號(hào)要縮進(jìn),冒號(hào)后面所有的縮進(jìn)的代碼塊構(gòu)成了函數(shù)體,描述了函數(shù)是做什么的,即函數(shù)的功能是什么。Python函數(shù)的本質(zhì)與數(shù)學(xué)中的函數(shù)的本質(zhì)是一致的。
2、函數(shù)調(diào)用
①函數(shù)必須先定義,才能調(diào)用,否則會(huì)報(bào)錯(cuò)。
②無(wú)參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(),有參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(參數(shù)1.參數(shù)2.……)
③不要在定義函數(shù)的時(shí)候在函數(shù)體里面調(diào)用本身,否則會(huì)出不來(lái),陷入循環(huán)調(diào)用。
④函數(shù)需要調(diào)用函數(shù)體才會(huì)被執(zhí)行,單純的只是定義函數(shù)是不會(huì)被執(zhí)行的。
⑤Debug工具中Step into進(jìn)入到調(diào)用的函數(shù)里,Step Into My Code進(jìn)入到調(diào)用的模塊里函數(shù)。
def 函數(shù)名():? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ?函數(shù)體? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ?return? 返回值? ? ? ? ? ? ? ? ? ? ? ? ? ??
def 函數(shù)名(非可選參數(shù),可選參數(shù)):
???函數(shù)體?
return 返回值
def 函數(shù)名(參數(shù),*b):
? ? 函數(shù)體
? ? return 返回值
函數(shù)名 = lambda 參數(shù) : 表達(dá)式
例1:f = lambda x , y? :? x + y? ? ? ? ? ? ? ? ? ? ? ??
調(diào)用:f(6 + 8)? ? ?輸出:14? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
例2:?f = lambda : "沒(méi)有參數(shù)的lambda函數(shù)!"
調(diào)用:?print(f())? ? 輸出: 沒(méi)有參數(shù)的lambda函數(shù)!
python中set()函數(shù)的用法如下:
工具/原料:臺(tái)式電腦、Win10、Python3.6.5。
1、首先按下“Win+R”組合鍵,打開(kāi)運(yùn)行窗口,如下圖所示。
2、在打開(kāi)文本框輸入“cmd”,點(diǎn)擊確定,如下圖所示。
3、在打開(kāi)的cmd窗口中,輸入:“python”,點(diǎn)擊Enter鍵,如下圖所示。
4、在Python環(huán)境中,輸入:“x = set(('hi', 'hello', 'world'))”,點(diǎn)擊Enter鍵,如下圖所示。
5、在Python環(huán)境中,輸入:“print(x)”,如下圖所示。
6、點(diǎn)擊Enter鍵,即可使用Python內(nèi)置的set()函數(shù)創(chuàng)建一個(gè)集合對(duì)象,并打印出來(lái),如下圖所示。
1、get函數(shù)利用鍵來(lái)獲取值
在獲取值得時(shí)候常用的方法就是直接,但這種方法中當(dāng)字典中不存在該鍵時(shí)會(huì)返回KeyError類型錯(cuò)誤,此時(shí)就可以用get函數(shù)還利用鍵獲取值,利用get函數(shù)操作時(shí)當(dāng)字典中不存在輸入的鍵時(shí)會(huì)返回_個(gè)None,這樣程序運(yùn)行時(shí)就不會(huì)出異常。
2、利用字典統(tǒng)計(jì)列表中元素出現(xiàn)次數(shù)
get函數(shù)在這里有兩個(gè)參數(shù),第_個(gè)是確定要分配值的鍵,第_個(gè)是擬定給鍵分配_個(gè)初值,但實(shí)際要給鍵賦值仍需要get賦值語(yǔ)句。擬定初值語(yǔ)句本身對(duì)結(jié)果是沒(méi)有影響的,因?yàn)椴](méi)有實(shí)際的對(duì)鍵進(jìn)行賦值語(yǔ)句操作。
1、complex()
返回一個(gè)形如?a+bj?的復(fù)數(shù),傳入?yún)?shù)分為三種情況:
參數(shù)為空時(shí),返回0j;參數(shù)為字符串時(shí),將字符串表達(dá)式解釋為復(fù)數(shù)形式并返回;參數(shù)為兩個(gè)整數(shù)(a,b)時(shí),返回?a+bj;參數(shù)只有一個(gè)整數(shù) a 時(shí),虛部 b 默認(rèn)為0,函數(shù)返回?a+0j。
2、dir()
不提供參數(shù)時(shí),返回當(dāng)前本地范圍內(nèi)的名稱列表;提供一個(gè)參數(shù)時(shí),返回該對(duì)象包含的全部屬性。
3、divmod(a,b)
a -- 代表被除數(shù),整數(shù)或浮點(diǎn)數(shù);b -- 代表除數(shù),整數(shù)或浮點(diǎn)數(shù);根據(jù) 除法運(yùn)算 計(jì)算 a,b 之間的商和余數(shù),函數(shù)返回一個(gè)元組(p,q)?,p 代表商?a//b?,q 代表余數(shù)?a%b。
4、enumerate(iterable,start=0)
iterable -- 一個(gè)可迭代對(duì)象,列表、元組序列等;start -- 計(jì)數(shù)索引值,默認(rèn)初始為0‘該函數(shù)返回枚舉對(duì)象是個(gè)迭代器,利用 next() 方法依次返回元素值,每個(gè)元素以元組形式存在,包含一個(gè)計(jì)數(shù)元素(起始為 start )和 iterable 中對(duì)應(yīng)的元素值。