【发布时间】:2022-01-14 20:43:51
【问题描述】:
当我在函数中使用 += 时,出现以下错误:UnboundLocalError: local variable 'travel_log' referenced before assignment 但它完全适用于 append() 函数。 有什么区别?
travel_log = []
def add_new_country(countries_visited, times_visited, cities_visited):
new_country = {}
new_country["country"] = countries_visited
travel_log += new_country
【问题讨论】:
-
因为在这种情况下
+=涉及globalvar 赋值 -
编码新手 :) 你能解释一下吗?
-
stackoverflow.com/a/2022044/17184842同一个问题的详细解答。
-
函数中的任何赋值anywhere 都会被编译器标记为local。
+=涉及对travel_log的赋值,但在该行之前没有定义局部变量