函数传值

函数的参数是对象(列表、字典、类的对象),传参的时候传递的是地址,如果要对对象的内容进行修改,传参的时候传对象的拷贝

def func1(list1):
      list1.append(10)
def func2(liest2):
      list2.append(20)
list3 = [1,2,3]
func1(list3)
func2(list3)
print(func1)
print(func2)

结果:[1,2,3,10,20]
       [1,2,3,10,20]

因为传递是地址,当修改的时候,直接修改的列表内容,避免这种情况,传值传递列表的拷贝

可以用 func1(list3[:])    func2(list3[:])

你可能感兴趣的:(函数传值)