python內置函數and匿名函數
一.內置函數
什什麽是內置函數?
就是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 = lambdan: 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匿名函數