我有很多功能,他们都编辑了一些变量,但我希望每个人都编辑以前编辑过的变量(通过先前的功能):
text = "a"
def a():
text + " hi"
print(text)
def b():
text + " there"
print(text)
def main():
a()
b()
main()
^所以当运行main时我希望它出现:
>>a hi
>>a hi there
我尝试过全球,但我似乎无法正常工作
答案 0 :(得分:1)
即使使用global
,您仍然必须为全局变量重新分配新值 - 在您的情况下text
。 text + " hi"
只是创建一个新字符串并将其抛弃。使用global text
,然后执行text = 'text' + <string>
:
text = "a"
def a():
global text
text = text + " hi"
print(text)
def b():
global text
text = text + " there"
print(text)
def main():
a()
b()
main()
以上现在输出:
a hi
a hi there
答案 1 :(得分:0)
使用global
重新分配文字变量
text = "a"
def a():
global text
text += " hi"
print(text)
def b():
global text
text += " there"
print(text)
def main():
a()
b()
main()
结果
a hi
a hi there