Python函数,参数不更改变量

时间:2014-04-30 05:07:25

标签: python function variables

如何获得此功能:

def test(var1):
    var1=5
a=0
test(a)
print(a)

将变量a设置为等于5.

3 个答案:

答案 0 :(得分:1)

您必须使用可变变量,例如列表。这有点类似。

def test(var1):
    var1[0]=5
a=[0]
test(a)
print(a[0])

答案 1 :(得分:0)

您可能想要返回值:

def test(var1):
    var1 = 5
    return var1
a = 0
a = test(a)
print(a)

答案 2 :(得分:0)

是的......布拉德是正确的......但是那里有一个小小的修正。我们应该说它是可变的对象。当您使用像List,Dictionary这样的可变对象时,您将实现此目的。

>>> def test(var1):
...  var1.append(5)
 ...
>>> a=[]
>>> test(a)
>>> a
[5]

然而,当你使用像integer,string,tuple这样的不可变对象时,它不会改变对象引用的值。

>>> def test(val1):
...  val1+(1,)
...
>>> test(a)
>>> a
()