最近写python遇到个函数内部变量使用外部变量的问题,现在总结下吧

 

#!/usr/bin/env python

a = 100
def su():
  a = a + 1
  print(a)

s = su()

#执行这段代码会报错(如果只是调用不修改是不会报错的)

python中修改函数内部的变量会发生什么

 

更改为:

#!/usr/bin/env python

a = 100
def su():
  global a
  a = a + 1
  print(a)

s = su()

 

总结:

在python的函数中和全局同名的变量,如果修改变量的值就会变成局部变量,

在修改之前对该变量的引用自然就会出现没定义这样的错误了,

如果确定要引用全局变量,并且要对它修改,必须加上global关键字。

 

相关文章:

  • 2021-07-23
  • 2022-12-23
  • 2021-07-19
  • 2021-10-28
  • 2022-02-07
  • 2022-01-18
  • 2022-12-23
猜你喜欢
  • 2021-09-18
  • 2022-01-20
  • 2022-12-23
  • 2021-12-02
  • 2022-12-23
  • 2021-09-09
  • 2022-12-23
相关资源
相似解决方案