返回函數

一個函數能夠返回一個計算結果,也能夠返回一個函數
高階函數除了能夠接受函數做爲參數外,還能夠把函數做爲結果值返回
返回一個函數時,牢記該函數並未執行,返回函數中不要引用任何可能會變化的變量函數

 

使用示例spa

    def lazy_sum(*args):
        def sum():
            ax = 0
            for n in args:
                ax = ax + n
            return ax
    return sum
    
    f = lazy_sum(1, 3, 5, 7, 9)  #調用lazy_sum()時,返回的並非求和結果,而是求和函數
    print(f())  #輸出:25,調用函數f時,才真正計算求和的結果
    
    f1 = lazy_sum(1, 3, 5, 7, 9)
    f2 = lazy_sum(1, 3, 5, 7, 9)
    print(f1==f2)  #輸出:False,每次調用都會返回一個新的函數,即便傳入相同的參數
相關文章
相關標籤/搜索