Python學習筆記__4.1章 高階函數
阿新 • • 發佈:2018-05-14
編程語言 Python # 這是學習廖雪峰老師python教程的學習筆記
1、概覽
我們知道Python內置的求絕對值的函數是abs()
# 調用abs()函數可以獲得一個值
>>> abs(-10)
10
# 那麽,只寫abs本身呢
>>> abs
<built-in function abs>
可見,abs(-10)是函數調用,而abs是函數本身
1.1、將函數賦給變量
將函數賦給變量只有兩種情況:
把函數計算得到的 結果 賦給變量
f=abs(-10)
把 函數本身 賦給變量,變量此時可以調用函數,即變量可以指向函數
f=abs
1.2、函數名也是變量
函數名其實就是指向函數的變量。
對於abs()這個函數,可以把函數名abs看成變量。這意味著,可以用其他的值賦給abs這個變量
abs = 10
賦值過後。再調用abs函數報錯
註:由於abs函數實際上是定義在import builtins模塊中的,所以要讓修改abs變量的指向在其它模塊也生效,要用import builtins; builtins.abs = 10
2、例題
一個簡單的高階函數,計算abs(x)+abs(y)
# -*- coding: utf-8 -*-
def add(x, y, f):
return f(x) + f(y)
print(add(-5, 6, abs)) # 將abs 函數 作為參數 傳給了 add函數
Python學習筆記__4.1章 高階函數