猿问

尝试使用函数中的全局关键字修改全局变量时出错

我正在尝试使用 global 关键字从函数修改全局变量但是当我尝试这样做时,我收到错误““SyntaxError:在全局声明之前使用了名称'a'”


a=10 ## Global variable


def Global_modify():

    a=19

    print(a)

    global a

    a=11

    print(a)

预期结果:19 11


错误:“语法错误:在全局声明之前使用名称‘a’”


心有法竹
浏览 232回答 2
2回答

杨__羊羊

a在函数中修改它之前,您必须在函数中声明为全局。所以你的代码应该是这样的:a=10 ## Global variabledef Global_modify():    global a    a=19    print(a)    a=11    print(a)现在,即使你要求a函数外部的值,你也会得到你在函数中定义的任何值。

一只萌萌小番薯

为避免 SyntaxError 异常,您将无法使用全局声明。但是,您仍然可以访问全局变量:a=10 ## Global variabledef Global_modify():    a=19    print(a)    globals()['a'] = 11Global_modify()print(a)1911
随时随地看视频慕课网APP

相关分类

Python
我要回答