Python如何在方法调用中对变量进行突变

时间:2018-10-24 16:41:57

标签: python python-3.x environment-variables

是否可以像在C和Java中一样在Python中的if语句,循环和函数调用中修改变量?

例如:

def mymethod(c):
    if(c == 0):
        return c
    return mymethod(c-=1) #invalid syntax

另一个例子:

i=0
while((i+=1)<10): #invalid syntax
    print(i) 

如果不是那是为什么?

1 个答案:

答案 0 :(得分:1)

只要数据类型是可变的

def modified(data):
    data['a'] = 5

x = {'b':7}
modified(x)
print(x)


def increment_a(data):
    data['a'] += 1
    return data['a']

x = {'a':1}
while increment_a(x) < 10:
    print(x)

但是字符串和整数是不可变的