python 中的一些特殊語法

pswyjz發表於2021-09-09

1.高階函式
python支援函數語言程式設計,它內建了一些特殊函式,這些函式具有這樣的函數語言程式設計特性,可以使程式碼更加簡潔。
filter、reduce、map
類似於上面的函式都可以用一個函式作為引數

filter原型:filter(function,序列)
filter會依次對序列中的項執行function,並將結果為true的組合成一個序列返回
reduce原型:reduce(function,序列[初始值])
reduce會從序列中取出兩個數進行function得到結果再從序列中取出下一個帶入function進行計算。
map原型:map(function,序列)
對序列中的項依次進行function,執行結果組成一個list返回,map支援多序列。

2.匿名函式-lambda
在python中,支援一種有趣的語法格式,可以讓我們在單行內建立一個最小函式-lambda
Lambda函式又稱匿名函式,沒有名字,只能臨時一用。
普通python函式:
def fun(a,b,c)
return a+b+c

lambda匿名函式:
f = lambad a,b,c:a+b+c   ":"前面是引數,後面是返回值。

3.函式巢狀
python中有一個特殊的語法,很少有人會用到,但是又是確實會使用,那就是巢狀函式。

def outer(factor):
def inner(number):
return number*factor
return inner

一個函式在另一個函式里面,外層函式返回的是裡層函式,也就是函式本身被返回了,返回的是函式。注意,返回的函式還可以訪問它的定義所在的作用域,也就是它帶著它的環境。這個被稱為閉包。

4.裝飾器
裝飾器本質上是一個python函式,它可以讓其他函式在不需要做任何程式碼變動的情況下增加額外功能,裝飾器的返回值也是一個函式物件。他經常用於有切面需求的場景,比如:插入日誌,效能測試,事務處理,快取,許可權校驗等場景。裝飾器是解決這類問題的絕佳設計。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/755/viewspace-2803611/,如需轉載,請註明出處,否則將追究法律責任。

相關文章