Python培训之nonlocal关键字是什么

发布时间:2022-12-28 09:45:13 人气:44 作者:多测师

  python中nonlocal关键字是什么

  说明

  1、nonlocal声明的变量不是局部变量或全局变量,而是外部嵌套函数中的变量。

  2、nonlocal定义后的变量只会在调用的子函数中发挥作用。

  实例

  x = 1

  def func():

  nonlocal x

  x =2

  print(x)

  func()

  print(x)

  结果代码报错,SyntaxError: no binding for nonlocal 'x' found

Python培训之nonlocal关键字是什么

  为什么我只是把global换 成了nonlocal,却报错了?因为nonlocal是用于函数中的函数。

  x = 1

  def func():

  x = 2

  def subfunc():

  nonlocal x

  x = x + 1

  print('subfunc内打印的值:%d' % x)

  return x

  print('func内打印的值:%d' % x)

  return subfunc

  func()

  print('func外打印的值:%d' % x)

  结果是:

  func内打印的值:2

  func外打印的值:1

  nonlocal关键字既没有改变全局变量x=1的值,也没有改变局部变量x=2的值。这就是指nonlocal声明的变量不是局部变量,也不是全局变量。

  以上就是python中nonlocal关键字的介绍,希望对大家有所帮助。更多Python学习指路:请关注多测师。https://www.e70w.com/xwzx/




返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线