Python声明global全局变量仍报UnboundLocalError该如何解决
Python全局变量访问报错修复方案
错误原因
global关键字声明位置错误:该关键字需要放在需要修改全局变量的函数内部,你将其写在全局作用域中没有任何生效效果。- Python解释器默认会将函数内部出现赋值操作(含
+=增量赋值)的变量判定为局部变量,你没有在interpret函数内部声明col为全局变量,也没有初始化局部col就直接修改,因此抛出UnboundLocalError。
修复代码
col = 0 def interpret(text): global col for char in text: col += 1
补充规则说明
只有当你需要在函数内部修改全局变量的值时,才需要使用
global声明;如果只是读取全局变量的值,不需要加global声明也可以正常访问。
内容的提问来源于stack exchange,提问作者Donoru
相关产品推荐
相关产品推荐

