我們知道在函數(shù)中如果對形參使用賦值語句是不會修改實參的喂饥,但是如果傳入的實參是可變類型妄讯,而且使用方法修改了形參,那么實參也會被修改鸟顺。
def demo_04(lo_list):
lo_list.append(5)
print(lo_list)
gl_list = [1, 2, 3, 4]
demo_04(gl_list) # 輸出為:[1, 2, 3, 4, 5]
print(gl_list) # 輸出為:[1, 2, 3, 4, 5]
在平常我們使用“+=”時惦蚊,例如:a += a表示先進行a + a操作,再將a + a的和賦值給a讯嫂,即a = a + a蹦锋。但是在python中需要注意當列表使用“+=”時,相當于使用了extend()方法擴展列表欧芽,而不是先求和再賦值莉掂。
def demo_04(lo_list):
lo_list += lo_list
print(lo_list)
gl_list = [1, 2, 3, 4]
demo_04(gl_list) # 輸出為:[1, 2, 3, 4, 1, 2, 3, 4]
print(gl_list) # 輸出為:[1, 2, 3, 4, 1, 2, 3, 4]
通過輸出結(jié)果可看出在函數(shù)中 列表執(zhí)行該步代碼lo_list += lo_list,并不是先求和再賦值千扔,而是相當于使用了extend()方法憎妙。