码迷,mamicode.com
首页 > 其他好文 > 详细

global的使用

时间:2019-01-21 21:12:11      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:没有   reference   ble   一个   +=   end   class   lob   trace   

 

对于一个全局变量,你的函数里如果只使用到了它的值,而没有对其赋值(指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的使用

标签:没有   reference   ble   一个   +=   end   class   lob   trace   

原文地址:https://www.cnblogs.com/xone/p/10300691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!