1. 程式人生 > >Python 知識點記錄——高階函式

Python 知識點記錄——高階函式

用於記錄知識點,有錯誤歡迎指正

map(函式物件,可迭代物件):

依次作用於每個元素,返回迭代器物件


reduce(函式物件, 可迭代物件):

元素結果和下一個元素做累計計算,返回迭代器物件


filter(返回布林值的函式物件,可迭代物件):

和每個元素做比較,true留下,false刪除,返回迭代器物件


sorted(可迭代物件,*key=函式物件):

排序,或按照函式返回內容排序(顯示未處理的內容)

引數:reverse=True 反相排序

2018/7/23 更新

返回函式-閉包:

def lazy_sum(*args):
    def sum():
        ax = 0
        for n in args:
            ax = ax + n
        return ax
    return sum

sum1 函式物件,sum1()函式呼叫

當一個函式返回了一個函式後,其內部的區域性變數還被新函式引用
當lazy_sum返回函式sum時,相關引數和變數都儲存在返回的函式中
稱為“閉包”

返回函式不要引用任何迴圈變數,或者後續會發生變化的變數

匿名函式:

lambda x: x * x

等階於

def f(x):
    return x * x

1、可賦值與一個變數,再呼叫該函式

2、可用作與函式的返回值返回