如何在函数中向外部字符串变量追加内容?
解决Python中UnboundLocalError的问题
问题原因
当你在函数my_func里执行x += "Hello World"时,Python会将x视为局部变量,但函数内部并没有提前定义这个局部变量就直接进行赋值操作,因此触发UnboundLocalError。
两种解决方法
方法一:使用global声明全局变量
在函数内部用global关键字声明x是全局变量,让Python直接引用外部定义的全局x,而非将其当作局部变量处理:
x = "" def my_func(): global x x += "Hello World" my_func() print(x) # 输出: Hello World
方法二:将变量作为参数传入并返回修改后的值
这种方法更符合函数封装性,避免直接操作全局变量:
x = "" def my_func(s): return s + "Hello World" x = my_func(x) print(x) # 输出: Hello World
内容的提问来源于stack exchange,提问作者Zienz
相关产品推荐
相关产品推荐

