Python学习笔记__4.1章 高阶函数
# 這是學(xué)習(xí)廖雪峰老師python教程的學(xué)習(xí)筆記
1、概覽
我們知道Python內(nèi)置的求絕對(duì)值的函數(shù)是abs()
# 調(diào)用abs()函數(shù)可以獲得一個(gè)值
>>> abs(-10)
10
# 那么,只寫abs本身呢
>>> abs
<built-in function abs>
?
可見,abs(-10)是函數(shù)調(diào)用,而abs是函數(shù)本身
?
1.1、將函數(shù)賦給變量
將函數(shù)賦給變量只有兩種情況:
把函數(shù)計(jì)算得到的 結(jié)果 賦給變量
f=abs(-10)
把 函數(shù)本身 賦給變量,變量此時(shí)可以調(diào)用函數(shù),即變量可以指向函數(shù)
f=abs
1.2、函數(shù)名也是變量
函數(shù)名其實(shí)就是指向函數(shù)的變量。
對(duì)于abs()這個(gè)函數(shù),可以把函數(shù)名abs看成變量。這意味著,可以用其他的值賦給abs這個(gè)變量
abs = 10
賦值過后。再調(diào)用abs函數(shù)報(bào)錯(cuò)
注:由于abs函數(shù)實(shí)際上是定義在import builtins模塊中的,所以要讓修改abs變量的指向在其它模塊也生效,要用import builtins; builtins.abs = 10
?
2、例題
一個(gè)簡(jiǎn)單的高階函數(shù),計(jì)算abs(x)+abs(y)
?
# -*- coding: utf-8 -*-
?
def add(x, y, f):
??? return f(x) + f(y)
?
print(add(-5, 6, abs))? # 將abs 函數(shù) 作為參數(shù) 傳給了 add函數(shù)
轉(zhuǎn)載于:https://blog.51cto.com/12758568/2115993
總結(jié)
以上是生活随笔為你收集整理的Python学习笔记__4.1章 高阶函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如果发现服务器负载压力大可以看以下的日志
- 下一篇: 通用计划明年推出自动驾驶出租车共享服务,