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()時(shí),都會(huì)調(diào)用一個(gè)新的內(nèi)部函數(shù)my_lower()并立即調(diào)用。
但是my_lower()只存在于speak內(nèi)部,那怎么才能從speak外部訪問(wèn)嵌套的my_lower()函數(shù)呢?
由于函數(shù)是對(duì)象,因此可以將內(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實(shí)際上不調(diào)用任何函數(shù),只是根據(jù)volume的參數(shù)值選擇適當(dāng)?shù)膬?nèi)部函數(shù),然后返回這個(gè)函數(shù)對(duì)象。返回的函數(shù)既可以直接調(diào)用,也可以先指定一個(gè)變量名再使用。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python實(shí)現(xiàn)整數(shù)序列求和
這篇文章主要介紹了python實(shí)現(xiàn)整數(shù)序列求和,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
redis之django-redis的簡(jiǎn)單緩存使用
本篇文章介紹了redis之django-redis的簡(jiǎn)單緩存使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
PyTorch如何創(chuàng)建自己的數(shù)據(jù)集
這篇文章主要介紹了PyTorch如何創(chuàng)建自己的數(shù)據(jù)集,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

