1. 程式人生 > >python內置函數and匿名函數

python內置函數and匿名函數

需求 映射 min clas 3.6.2 變量 rabl sta mda

一.內置函數

什什麽是內置函數?

就是python給你提供的. 拿來直接?用的函數,

比如print., input等等. 截?止 到python版本3.6.2 python?一共提供了了68個內置函數.

他們就是python直接提供給我們的.

內置函數圖

二.匿名函數

lamda匿匿名函數 為了了解決?一些簡單的需求?而設計的?一句句話函數

語法: 函數名 = lambda 參數: 返回值

 1 # 計算n的n次?方 
 2 def func(n):    
 3     return n**n 
 4 print(func(10))
 5 
 6 
 7 f = lambda
n: n**n print(f(10)) 8 print(list(f))或者 9 for i in f 10 pirnt(i)

註意:

1. 函數的參數可以有多個. 多個參數之間?用逗號隔開

2. 匿匿名函數不管多復雜. 只能寫?一?行行, 且邏輯結束後直接返回數據

3. 返回值和正常的函數?一樣, 可以是任意數據類型

匿匿名函數並不是說?一定沒有名字. 這?裏裏前?面的變量量就是?一個函數名. 說他是匿匿名原因是我們通 過__name__查看的時候是沒有名字的. 統?一都叫lambda. 在調?用的時候沒有什什麽特別之處. 像正常的函數調?用即可

三.排序函數 sorted() 讓自己定義排序的規則

語法: sorted(Iterable, key=None, reverse=False)

Iterable: 可叠代對象

key: 排序規則(排序函數), 在sorted內部會將可叠代對象中的每?一個元素傳遞給這個函 數的參數. 根據函數運算的結果進?行行排序

reverse: 是否是倒敘. True: 倒敘, False: 正序

1 lst = [11, 5, 36, 1, 27, 58]
2 
3 s = sorted(lst)  # 默認從小到大排序
4 print(s)

 1 lst = ["胡一菲", "張偉", "關谷神奇", "曾小賢呂小布
", "諾瀾"] 2 def func(s): 3 return len(s) # 返回長度 4 5 # 執行流程: 6 # 把可叠代對象中的每一項拿出來, 作為參數傳遞給後面key函數. 7 # 函數返回數字, 根據數字進行排序 8 g = sorted(lst, key=func) 9 g = sorted(lst, key=lambda s: len(s)) 10 print(g)


四.篩選函數 filter()

語法: ?lter(function. Iterable)

function: ?用來篩選的函數. 在?lter中會?自動的把iterable中的元素傳遞給function. 然後 根據function返回的True或者False來判斷是否保留留此項數據

Iterable: 可叠代對象

1 lst = [張無忌, 張翠山, 範冰冰, 金毛獅王, 李冰冰]
2 
3 # 過濾掉姓張的人
4 # 把可叠代對象打開 . 把內部元素一個一個的傳遞給前面的函數. 由這個函數決定此項是否保留
5 f = filter(lambda name: not name.startswith(), lst)
6 
7 print(__iter__in dir(f))  # 可叠代對象
8 for el in f:
9     print(el)


五.映射函數map()

語法: map(function, iterable) 可以對可叠代對象中的每?一個元素進?行行映射. 分別取執?行行 function

1 lst = [籃球球, 打打臺球, 爬荒山, ]
2 g = map(lambda s:愛好:+ s,lst)
3 print(list(g))

python內置函數and匿名函數