Python函數(shù)的嵌套詳解
Python允許在函數(shù)中定義函數(shù),這通常被稱為嵌套函數(shù)或者內(nèi)部函數(shù)。
def speak(text): def my_lower(t): return t.lower() + '...' return my_lower(text) print(speak('Aomi'))
每次調(diào)用speak()時,都會調(diào)用一個新的內(nèi)部函數(shù)my_lower()
并立即調(diào)用。
但是my_lower()只存在于speak內(nèi)部,那怎么才能從speak外部訪問嵌套的my_lower()函數(shù)呢?
由于函數(shù)是對象,因此可以將內(nèi)部函數(shù)返回給父函數(shù)的調(diào)用者。
例如:
def get_speak_fun(volume): def my_lower(text): return text.lower() + '...' def yell(text): return text.upper() + '...' if volume> 0.5 : return yell else: return my_lower fun = get_speak_fun(0.8) print(fun('I am in Aomi'))
get_speak_fun
實際上不調(diào)用任何函數(shù),只是根據(jù)volume的參數(shù)值選擇適當(dāng)?shù)膬?nèi)部函數(shù),然后返回這個函數(shù)對象。返回的函數(shù)既可以直接調(diào)用,也可以先指定一個變量名再使用。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python實戰(zhàn)之實現(xiàn)excel讀取、統(tǒng)計、寫入的示例講解
下面小編就為大家分享一篇python實戰(zhàn)之實現(xiàn)excel讀取、統(tǒng)計、寫入的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05分享五個超實用Python腳本,減少垃圾軟件負(fù)擔(dān)
今天給大家?guī)韼讉€實用的python腳本工具,可以實現(xiàn)系統(tǒng)提示工具、文件夾清理工具等,這樣就再也不用擔(dān)心女朋友在電腦里安裝垃圾軟件啦2022-05-05Python常用配置文件ini、json、yaml讀寫總結(jié)
用的配置文件格式有ini、json、yaml等,下面簡單給大家介紹下,Python如何讀寫這幾種格式的文件,對Python讀寫ini、json、yaml配置文件相關(guān)知識感興趣的朋友一起看看吧2021-07-07Python求均值,方差,標(biāo)準(zhǔn)差的實例
今天小編就為大家分享一篇Python求均值,方差,標(biāo)準(zhǔn)差的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Pytorch 定義MyDatasets實現(xiàn)多通道分別輸入不同數(shù)據(jù)方式
今天小編就為大家分享一篇Pytorch 定義MyDatasets實現(xiàn)多通道分別輸入不同數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01淺談keras中的Merge層(實現(xiàn)層的相加、相減、相乘實例)
這篇文章主要介紹了淺談keras中的Merge層(實現(xiàn)層的相加、相減、相乘實例),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05對python中 math模塊下 atan 和 atan2的區(qū)別詳解
今天小編就為大家分享一篇對python中 math模塊下 atan 和 atan2的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01