global的使用
Posted xone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了global的使用相关的知识,希望对你有一定的参考价值。
对于一个全局变量,你的函数里如果只使用到了它的值,而没有对其赋值(指a = XXX
这种写法)的话,就不需要声明global。
相反,如果你对其赋了值的话,那么你就需要声明global
。声明global
的话,就表示你是在向一个全局变量赋值,而不是在向一个局部变量赋值。
>>> lst = [1, 2, 3] >>> def foo1(): ... lst.append(5) # 这没有问题... ... >>> foo1() >>> lst [1, 2, 3, 5] >>> lst = [1, 2, 3] >>> def foo2(): ... lst += [5] # ... 这就有问题了! ... >>> foo2() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in foo UnboundLocalError: local variable ‘lst‘ referenced before assignment
以上是关于global的使用的主要内容,如果未能解决你的问题,请参考以下文章