Python高階語法 函式

2021-10-08 14:06:55 字數 4014 閱讀 1586

所謂函式就是乙個**塊,函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的**段。

二.匿名函式:

三.map函式:

四.reduce函式:

五.filter函式:

六.sort函式:

七.幾種函式的舉例:

def 函式名(引數)

: 函式體

任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數(傳的引數一般為形參);函式的第一行語句可以選擇性地使用文件字串—用於存放函式文件說明;函式內容以冒號開始,並且注意行縮排;return [表示式] 結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none。
"""  在這兒寫說明   """
def

today

(day)

:"""

這是用於測試的

:param day: 輸出內容

:return: 中斷程式

"""print

("今天是:"

.format

(day)

)return

print

("您好世界"

)today(

"周四"

)

像這種,就不會繼續執行return後的**了,程式直接跳出;函式文件說明內容,解釋了函式的作用

因為後面三個函式都離不開匿名函式,所以我們先來看看匿名函式。

匿名函式:不需要顯示的制定函式名,格式:函式名=lambda 引數:返回值

sum

=lambda a,b:a+b

print

("兩數之和為:%d"

map() 會根據提供的函式對指定序列做對映

格式:map(方法,引數序列)

my_list=

["smith"

,"tom"

]#capitalize()將首字母轉化成大寫

print

(list

(map

(lambda x:x.capitalize(

),my_list )

))

reduce:對引數序列元素進行累計

格式:reduce(function, iterable),fuction:函式有兩個引數,iterable:可迭代物件

在使用次函式時,務必注意首先需要進行導包操作:from functools import reduce,否則無法使用

def

add(x, y)

:# 兩數相加

return x + y

print

(reduce

(add,[1

,2,3

,4,5]))

filter()也接收乙個函式和乙個序列。和map()不同的是,filter()把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。對於序列中的元素進行篩選,最終獲取符合條件的序列,然後進行輸出或者進行操作

filter():兩個引數乙個為函式,乙個為序列,格式:filter(function, iterable)fuction:函式,iterable:可迭代物件

20個數中找到能被3整除的數

sort函式適用於排序,詳情請戳列表之sort

"""

map"""

my_list=

["smith"

,"tom"

]# print(list(map(lambda x:x[0].upper()+x[1:],my_list )))

print

(list

(map

(lambda x:x.capitalize(

),my_list )))

"""reduce函式

reduce把乙個函式作用在乙個序列[x1, x2, x3, ...]上,這個函式必須接收兩個引數,

reduce(func,[1,2,3]) 等同於 func(func(1,2),3)

"""from functools import

reduce

my_list1=[2

,5,6

,7]print

(reduce

(lambda x,y:x+y,my_list1)

)def

add(x, y)

:# 兩數相加

return x + y

print

(reduce

(add,[1

,2,3

,4,5

]))"""

filter函式

filter()也接收乙個函式和乙個序列。和map()不同的是,filter()把傳入的函式依次作用於每個元素,

然後根據返回值是true還是false決定保留還是丟棄該元素。

對於序列中的元素進行篩選,最終獲取符合條件的序列

Python高階語法

函式式 程式設計概念 要了解什麼是函式式程式設計 什麼是函式 這兩者的區別 高階函式的特點 能接收函式作為引數 注意 map 是 python 內建的高階函式,它接收乙個函式 f和乙個list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。reduce 函式也...

Python高階語法

最近重新看了網上的python教程,補充學習了一些之前用的較少的用法 字典 注意字典中 key 是亂序的,也就是說和插入 的順序是不一致的。如果想要使用順序一致的字典,請使用 collections 模組 中的 ordereddict 物件 迭代器 python 中的 for 句法實際上實現了設計模...

Swift語法 高階函式

高階函式map,flatmap,reduce,filter可以簡化 量,能用就用。1 map函式,是集合和string類的例項方法,作用是遍歷時修改item map並不會修改例項值,而且新建乙個拷貝。摘自官方文件 let cast vivien marlon kim karl let lowerca...