问题在于,当解析函数主体时,所有在正常分配或扩充分配中使用的变量都被视为局部变量,因此当调用函数时,Python将不会在全局范围内查找那些变量,因此会引发错误。因此,您需要指定这些变量,
global以告诉Python在全局范围内查找它们。
另一种替代方法是使用
list.extend()代替
+=。
有关:
- 为什么
UnboundLocalError
当变量有值时我得到一个? - Python列表
+=
可迭代的行为是否记录在任何地方?

问题在于,当解析函数主体时,所有在正常分配或扩充分配中使用的变量都被视为局部变量,因此当调用函数时,Python将不会在全局范围内查找那些变量,因此会引发错误。因此,您需要指定这些变量,
global以告诉Python在全局范围内查找它们。
另一种替代方法是使用
list.extend()代替
+=。
有关:
UnboundLocalError当变量有值时我得到一个?
+=可迭代的行为是否记录在任何地方?