我正在尝试使用 global 关键字从函数修改全局变量但是当我尝试这样做时,我收到错误““SyntaxError:在全局声明之前使用了名称'a'”a=10 ## Global variabledef Global_modify(): a=19 print(a) global a a=11 print(a)预期结果:19 11错误:“语法错误:在全局声明之前使用名称‘a’”
2 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
a在函数中修改它之前,您必须在函数中声明为全局。所以你的代码应该是这样的:
a=10 ## Global variable
def Global_modify():
global a
a=19
print(a)
a=11
print(a)
现在,即使你要求a函数外部的值,你也会得到你在函数中定义的任何值。
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
为避免 SyntaxError 异常,您将无法使用全局声明。但是,您仍然可以访问全局变量:
a=10 ## Global variable
def Global_modify():
a=19
print(a)
globals()['a'] = 11
Global_modify()
print(a)
19
11
添加回答
举报
0/150
提交
取消
