函数传值

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

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[:])
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容