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教程: