python如何通过传递参数的方式修改函数外部的变量?

比如:

def test(b):
b=3
print(b)

a=2
test(a)
print(a)

这样运行输出的结果是:
3
2
python 中变量a 存储的是 数值 2的地址,当传入test函数后,test函数内部并没有把3的地址赋值给外面的a ,而是另外创建了一个变量b来存放3的地址,也就意味着传入的参数毫无作用。有个问题,python 中有办法在函数内部修改外部的值么?除了使用nonlocal global等关键字修饰以外,有没有其他可以通过赋值修改外部变量的方法。。

你可能感兴趣的:(问题求助,python,编程语言,机器学习)