在python中为全局变量赋值
对不起,这是个初学者的问题。在下面的代码中,我得到的输出是“原始”而不是“函数”。name的值在通过函数后没有改变吗?谢谢在python中为全局变量赋值,python,Python,对不起,这是个初学者的问题。在下面的代码中,我得到的输出是“原始”而不是“函数”。name的值在通过函数后没有改变吗?谢谢 global name name = "Original" def test(): name = "Function" test() print(name) global声明位于要应用它们的函数内部,而不是顶层 name = "Original" def test(): global nam
global name
name = "Original"
def test():
name = "Function"
test()
print(name)
global
声明位于要应用它们的函数内部,而不是顶层
name = "Original"
def test():
global name
name = "Function"
test()
print(name)
在函数中使用全局关键字
name=“Original”#定义名称
def test():#定义我们的函数
全局名称#此函数现在可以更改名称
name=“Function”#更改值
test()#运行函数
打印(名称)#返回函数
我假设global
需要在函数中,这样您就可以这样做,函数可以使用文本而不影响文本变量:
text = "Original"
def test():
global text
text = "Function"
def printText(text):
textToPrint = text # use text var without any issues in this function
print(textToPrint)
test()
print(text)
您可以在这里阅读更多信息,不,没有<
test
中的code>name是一个局部变量,在python中为变量赋值时总是默认值。如果希望更改,则需要使用test
函数中的global
语句。注意,global name
在全局作用域中完全不起作用,全局作用域中的任何赋值都将是全局的。除此之外,您真的不应该使用这样的可变全局状态。请重复并从下面开始。堆栈溢出不是为了替换现有的文档和教程。明白了。谢谢朋友
name = "Original" #global variable
def test():
#to update the global value you have to declare it here
global name
name = "Function"
test()
print(name)