【发布时间】:2015-03-02 21:06:32
【问题描述】:
这可能是一个非常愚蠢的问题,但我有点不确定为什么列表在范围方面与 Python 3 中的其他变量不同。在下面的代码中...
foo = 1
bar = [1,2,3,4]
def baz():
foo += 1
bar[0]+=1
我理解为什么foo += 1 会抛出关于foo 超出本地范围的错误。为什么bar[0]+=1 不抛出同样的错误呢?
【问题讨论】:
-
因为
bar[0]是一个读取bar的表达式,这在python 中是允许的。