Python嵌套函數

中的功能Python可以嵌套在其他函數中。

在函數內部定義的函數僅在該函數內部可見。

這對於創建對某個功能有用但在其外部沒有用的實用程序很有用。

您可能會問:如果不損害此功能,為什麼我應該“隱藏”該功能?

第一,因為最好總是隱藏某個函數本地的功能,而在其他地方則無用。

另外,因為我們可以使用閉包(稍後將對此進行更多介紹)。

這是一個例子:

def talk(phrase):
    def say(word):
        print(word)
words <span style="color:#f92672">=</span> phrase<span style="color:#f92672">.</span>split(<span style="color:#e6db74">' '</span>)
<span style="color:#66d9ef">for</span> word <span style="color:#f92672">in</span> words:
    say(word)

talk(‘I am going to buy the milk’)

如果要從內部函數訪問外部函數中定義的變量,則首先需要將其聲明為nonlocal

def count():
    count = 0
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">increment</span>():
    nonlocal count
    count <span style="color:#f92672">=</span> count <span style="color:#f92672">+</span> <span style="color:#ae81ff">1</span>
    <span style="color:#66d9ef">print</span>(count)

increment()

count()

這在關閉時特別有用,我們將在後面看到。


更多python教程: