有人能给我解释一下,每当调用globallyChange()函数时,如何将x的值更改为“不起作用”?多谢各位
def globallyChange():
x = "didn't work"
def main():
global x
x = 10
globallyChange() #Call the function for changes.
print(x)
main()
CURRENT OUTPUT: >> 10
我也尝试过将list/array作为全局变量,当调用globallyChange()函数时,它实际上改变了全局变量list。我想知道整数/字符串/布尔全局变量和列表全局变量之间有什么不同
def globallyChange():
lst.append(1)
lst.append(5)
lst.append(7)
def main():
global lst
lst = []
globallyChange() #Call the function for changes.
print(lst)
main()
OUTPUT: >> [1,5,7]
您需要在分配给变量的所有函数中放置
global
声明。因此,它应该是:在带有列表的版本中不需要此选项的原因是您没有为变量赋值。你只是在读变量;如果找不到局部变量,它会自动查找全局变量
append()
没有分配给变量,它在适当的位置修改列表您需要在所有引用x的函数中将x定义为全局变量。否则python将创建一个新的局部变量
试试这个:
相关问题 更多 >
编程相关推荐