這篇文章將為大家詳細(xì)講解有關(guān)函數(shù)嵌套時(shí)如何調(diào)用python,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)淮陽,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
python允許創(chuàng)建嵌套函數(shù)。也就是說我們可以在函數(shù)里面定義函數(shù),而且現(xiàn)有的作用域和變量生存周期依舊不變。
例子:
#encoding=utf-8 def outer(): name="python" def inner():#outer函數(shù)內(nèi)部定義的函數(shù) print name return inner()#返回該內(nèi)部函數(shù) outer()
理解:
在inner函數(shù)中,python解析器需要找一個(gè)叫name的本地變量,查找失敗后會(huì)繼續(xù)在上層的作用域里面尋找,這個(gè)上層作用域定義在outer函數(shù)里,python函數(shù)可以訪問封閉作用域。
對于outer函數(shù)中最后一句,返回inner函數(shù)調(diào)用的結(jié)果,需要知道非常重要一點(diǎn)就是,inner也僅僅是一個(gè)遵循python變量解析規(guī)則的變量名,python解釋器會(huì)優(yōu)先在outer的作用域里面對變量名inner查找匹配的變量。
把恰好是函數(shù)標(biāo)識符的變量inner作為返回值返回回來,每次函數(shù)outer被調(diào)用的時(shí)候,函數(shù)inner都會(huì)被重新定義,如果它不被當(dāng)做變量返回的話,每次執(zhí)行過后它將不復(fù)存在。
在python里,函數(shù)就是對象,它也只是一些普通的值而已。也就是說你可以把函數(shù)像參數(shù)一樣傳遞給其他的函數(shù)或者說從函數(shù)了里面返回函數(shù)。
關(guān)于函數(shù)嵌套時(shí)如何調(diào)用python就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。