【发布时间】:2017-03-26 00:56:33
【问题描述】:
假设我有一个方法 foo:
def foo(string):
def bar1():
if '1' in string:
string = string[2:]
else:
bar2()
def bar2():
if ('2' in string):
string.insert(5, '1')
else:
string.insert(5, '2')
bar1()
不幸的是,这会返回一个错误,指出在赋值之前引用了局部变量 string。我认为该字符串将从foo 的范围继承。我错了吗?请注意,变量 string 实际上是一个列表(很抱歉造成混淆)。
【问题讨论】:
-
尝试像这样将字符串传递给 bar1():def bar1(string).