提问人:Kulangara Silpa Prabhu 提问时间:7/16/2023 最后编辑:quamranaKulangara Silpa Prabhu 更新时间:7/16/2023 访问量:61
这不是python中正确的全局变量用法吗?它不断出现语法错误。什么是真正的全局关键字用法 [重复]
Isn't this a proper global variable usage in python? It keeps on giving syntax error. What really is a global keyword usage [duplicate]
问:
q=8
def example(q):
global q
q=q+2
print(q)
example()
File "<ipython-input-35-0e5cbb9ebefd>", line 2
global q
^
SyntaxError: name 'q' is parameter and global
这里的语法错误是什么? 如果我必须访问 q,我如何使用全局关键字?
答:
-1赞
Muhammad Ali
7/16/2023
#1
不能声明参数并将其声明为全局参数。参数是函数的本地参数。将您的参数名称更改为其他名称。
q=8
def example(a):
global q
q=q+2
print(q)
print(a)
example(3)
-1赞
Arman Ala
7/16/2023
#2
代码中出现语法错误是因为在将 q 作为参数传递后,您尝试在函数 example() 中将其声明为全局变量。在 Python 中,如果变量已定义为参数,则不能使用 global 关键字在函数中将变量声明为全局变量。
若要解决此问题,可以从函数定义中删除参数 q,也可以为全局变量选择其他名称。下面是一个示例:
q = 8
def example():
global q
q = q + 2
print(q)
example()
在这个更新的代码中,q 变量被声明为函数外部的全局变量,然后在函数内部,使用 global 关键字来指示我们要修改全局变量 q。输出将为 10,这是将 2 添加到 q 的初始值的结果。
请记住,使用全局变量时应谨慎,因为它会使代码更难理解和维护。通常建议将变量作为参数传递或从函数返回值,而不是严重依赖全局变量。
评论
q
def example(q)
global
q
def example():