日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python函數(shù)的嵌套詳解_python

作者:圍城客 ? 更新時(shí)間: 2022-03-27 編程語言

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í),都會調(diào)用一個(gè)新的內(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實(shí)際上不調(diào)用任何函數(shù),只是根據(jù)volume的參數(shù)值選擇適當(dāng)?shù)膬?nèi)部函數(shù),然后返回這個(gè)函數(shù)對象。返回的函數(shù)既可以直接調(diào)用,也可以先指定一個(gè)變量名再使用。

總結(jié)

原文鏈接:https://blog.csdn.net/u014612521/article/details/122441397

欄目分類
最近更新