yibadejiu

函数想改变全局变量需要使用 global

a=1

def func():

  global a

  a+=1

func()

print(a) //2  不适用global会报错

 

 

局部变量改变 nonlocal  找上层中里它最近一层的局部变量

def func2():

  a=1

  def func3():

    nonlocal a   //只会找局部变量,全局的不找

    a+=1

  func3()

  print(a) // 2

func2()

闭包函数:只要是闭包,一定是嵌套函数,且内部函数要调用外部函数的变量就是闭包

def outer ():

  a=1

  def inner():

  print(a) //调用外部函数的变量

  inner()

outer()

-----------------------------------------------------------------------------------------------------闭包常见的用法

def outer ():

  a=1

  def inner():

  print(a) //调用外部函数的变量

  return inner

inn = outer()

inn()

延长了变量的生存周期,节省内存,资源!!!!!!!

 

  

分类:

技术点:

相关文章:

  • 2021-11-23
  • 2022-02-03
  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
猜你喜欢
  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
  • 2021-12-03
  • 2021-11-23
  • 2021-11-23
相关资源
相似解决方案