Python关键字nonlocal的用法

nonlocal是Python中的一个关键字,它用于在嵌套函数内部引用外部函数的变量。具体来说,如果一个内部函数想要修改其外部函数的变量,就需要使用nonlocal关键字来声明这个变量。

下面是一个简单的示例,展示了如何使用nonlocal关键字:

# @Author : 小红牛
# 微信公众号:WdPython
def outer():  
    x = 10  
    def inner():  
        nonlocal x  
        x = 20  
        print("x in inner:", x)  
    inner()  
    print("x in outer:", x)  
  
outer()

输出内容
x in inner: 20
x in outer: 20
在这个例子中,我们定义了一个外部函数outer和一个内部函数inner。在inner函数中,我们使用nonlocal关键字声明了变量x,这样我们就可以在inner函数中修改outer函数的变量x的值。在inner函数中,我们将x的值改为20,并打印出来。然后,在outer函数中,我们再次打印x的值,这次打印的是修改后的值20。

需要注意的是,nonlocal关键字只能用于嵌套函数内部引用距离它最近的上层函数的变量。如果引用的变量不存在或者不是最近的上层函数的变量,则会报错。

猜你喜欢

转载自blog.csdn.net/gxz888/article/details/134992691
今日推荐