nonlocal关键字[Python基础]

python

1、nonlocal的作用是什么?是基于python的什么特点?

  通过nonlocal关键字,可以使内层的函数直接使用外层函数中定义的变量

  在Python中,函数的定义可以嵌套,即在一个函数的函数体中可以包含另一个函数的定义。

2、Demo

不使用nonlocal关键字案例

def outer(): #定义函数outer

  x=10 #定义局部变量x并赋为10

  def inner(): #在outer函数中定义嵌套函数inner

    x=20 #将x赋为20

    print("inner函数中的x值为:",x)

  inner() #在outer函数中调用inner函数

  print("outer函数中的x值为:",x)

outer() #调用outer函数

输出:inner函数中的x值为: 20

   outer函数中的x值为: 10

提示:在inner函数中通过第四行的“x = 20”定义了一个新的局部变量x并将其赋为20

 

使用nonlocal关键字案例

1 def outer(): #定义函数outer 

2 x=10 #定义局部变量x并赋为10

3 def inner(): #在outer函数中定义嵌套函数inner

4 nonlocal x #nonlocal声明

5 x=20 #将x赋为20

6 print("inner函数中的x值为:",x)

7 inner() #在outer函数中调用inner函数

8 print("outer函数中的x值为:",x)

9 outer() #调用outer函数

输出:inner函数中的x值为: 20

   outer函数中的x值为: 20

 

 提示:通过“nonlocal x”声明在inner函数中使用outer函数中定义的变量x,而不是重新定义一个局部变量x

以上是 nonlocal关键字[Python基础] 的全部内容, 来源链接: utcz.com/z/530494.html

回到顶部