python 中的一些特殊語法
阿新 • • 發佈:2018-03-28
python1.高階函數
python支持函數式編程,它內置了一些特殊函數,這些函數具有這樣的函數式編程特性,可以使代碼更加簡潔。
filter、reduce、map
類似於上面的函數都可以用一個函數作為參數
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函數,它可以讓其他函數在不需要做任何代碼變動的情況下增加額外功能,裝飾器的返回值也是一個函數對象。他經常用於有切面需求的場景,比如:插入日誌,性能測試,事務處理,緩存,權限校驗等場景。裝飾器是解決這類問題的絕佳設計。
python 中的一些特殊語法