深入了解python高階函數(shù)編寫與使用
何為高階函數(shù),以實際代碼為例子一步步深入概念。
1.變量可以指向函數(shù)
以abs()為例:
>>>abs(-10) 10
但是只寫abs呢?
>>>abs <built-in function abs>
abs(-10)是調(diào)用函數(shù)而abs是函數(shù)本身?。
把函數(shù)本身賦給變量呢?
>>>f=abs >>>f <built-in function abs>
結(jié)果顯然易見變量可以指向函數(shù)。
也可調(diào)用如:
>>>f=abs >>>f(-10) 10
說明f已經(jīng)指向abs函數(shù)本身,f()與abs()完全相同。
2.函數(shù)名也可以是變量。
可以完全把函數(shù)名abs看成變量,它指向絕對值函數(shù)。
但要指向其他對象呢?
>>>abs=10 >>>abs(-10) Tranceback(most recent call last): File"<stdin>",line1,in <module> TypeError:'int'object is not callable
此時abs為10,就無法通過abs(-10)來調(diào)用函數(shù)了。
3.傳入函數(shù)
既然指向函數(shù)就可傳入?yún)?shù)。
>>>print(abs(-10)) 10 >>>f=abs >>>def add(x,y,f): ... x=-5 ... y=6 ... return f(x)+f(y) ... 11
?高階函數(shù)就是可以接收到別的函數(shù)和其參數(shù)。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python基于wordcloud及jieba實現(xiàn)中國地圖詞云圖
這篇文章主要介紹了Python基于wordcloud及jieba實現(xiàn)中國地圖詞云圖,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-06-06Ubuntu 20.04安裝Pycharm2020.2及鎖定到任務(wù)欄的問題(小白級操作)
這篇文章主要介紹了Ubuntu 20.04安裝Pycharm2020.2及鎖定到任務(wù)欄的問題,本教程給大家講解的很詳細,非常適合小白級操作,需要的朋友可以參考下2020-10-10Django打印出在數(shù)據(jù)庫中執(zhí)行的語句問題
這篇文章主要介紹了Django打印出在數(shù)據(jù)庫中執(zhí)行的語句,文中給大家提到了Django 查看執(zhí)行的sql語句方法,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07