首先,有一個函數:
def extendList(val, list=[]):
list.append(val)
return list
1.調用函數並輸出,如下:
list1 = extendList(10)
print(list1)
----------------------
# 輸出結果
[10]
2.然後再次調用並輸出,如下(對這個結果並沒有疑問):
list2 = extendList(123, [])
print(list2)
----------------------
# 輸出結果
[123]
3.再次操作:
list3 = extendList('a')
print(list3)
輸出是多少呢?a?123,a?
→輸出:[10, 'a']
4.再次調用函數,直接輸出結果
list4 = extendList('b',[4])
print(list4)
----------------------
# 輸出結果
[4, 'b']
5.嘗試再調用一次
list5 = extendList(5)
print(list5)
----------------------
# 輸出結果
[10, 'a', 5]
到這裏那我們再輸出一下list1看一下:
print(list1)
----------------------
# 輸出結果
[10, 'a', 5]
有意思吧,分別打印一下5個list的id值看一下
print(id(list1),id(list2), id(list3), id(list4), id(list5))
----------------------------
600539506888 600539689352 600539506888 600539689288 600539506888
可以看到id值1、3、5相同,2與135不同,4與2和135都不同,
list1、3、5,其實操作的是同一個列表,list2是單獨的一個,list5也是單獨的一個。