python 对全局变量的修改,需要使用global关键字

 

is_debug = False

def get_is_debug():
  return is_debug

def set_is_debug(dbg):
  global is_debug
  is_debug = dbg

 

代码review的时候有个同事(我们主要都是开发c++代码的,python也会写,但是用的少)说,set_is_debug函数中 is_debug 已经是全局变量了,应该不需要global定义了吧?

因为c++里确实是这样,可能多少受到了影响。

实际上python对全局变量的写入是需要使用 global 关键字的,不然上面就变成了定义了一个局部变量 is_debug 了。

参考资料:

Python Global 关键字 - 菜鸟教程 (cainiaojc.com)icon-default.png?t=N7T8https://www.cainiaojc.com/python/python-global-keyword.html

你可能感兴趣的:(python)