Python 3 从另一个函数更改函数中的变量
Python 3 changing variable in function from another function
我想从 testadder 访问 main 中的测试变量,这样它会在 main 中调用 testadder 后将测试加 1。
出于某种原因,我可以通过这种方式将 1 添加到列表中,但不能添加变量。非局部声明不起作用,因为函数没有嵌套。
有办法解决这个问题吗?
def testadder(test, testing):
test.append(1)
testing += 1
def main():
test = []
testing = 1
testadder(test, testing)
print(test, testing)
main()
列表是可变的,但整数不是。 Return修改后的变量并重新赋值。
def testadder(test, testing):
test.append(1)
return testing + 1
def main():
test = []
testing = 1
testing = testadder(test, testing)
print(test, testing)
main()
我想从 testadder 访问 main 中的测试变量,这样它会在 main 中调用 testadder 后将测试加 1。
出于某种原因,我可以通过这种方式将 1 添加到列表中,但不能添加变量。非局部声明不起作用,因为函数没有嵌套。
有办法解决这个问题吗?
def testadder(test, testing):
test.append(1)
testing += 1
def main():
test = []
testing = 1
testadder(test, testing)
print(test, testing)
main()
列表是可变的,但整数不是。 Return修改后的变量并重新赋值。
def testadder(test, testing):
test.append(1)
return testing + 1
def main():
test = []
testing = 1
testing = testadder(test, testing)
print(test, testing)
main()