python數據可變類型 不可變類型

背景:
	最近基於python寫接口自動化腳本,從Excel表中讀取所有數據,每一行數據保存爲字典,then將多行字典數據保存到一個列表中
例子:
	dd = {"a":1,"b":10}
	i = 2
	list1 = []
	while i < 5:
		dd["a"] = i
		i +=1
		list1.append(dd)
	print("list1: {}".format(list1))

預測結果:
	list1:[{'b': 10, 'a': 2}, {'b': 10, 'a': 3}, {'b': 10, 'a': 4}] 
實際結果:
	list1:[{'b': 10, 'a': 4}, {'b': 10, 'a': 4}, {'b': 10, 'a': 4}] 
分析:數據分可變類型和不可變類型,python中字典是可變類型,列表中實際保存的是字典所指的那片內存,而這片內存中內容,保存的是最後一次修改的值。

1 對象的創建和引用

	在python中,一切都是對象,對象都具有三個屬性:地址_ID,類型_Type,值_Value
	ID: 一個對象的唯一標識
	Type: 標識對象的類型
	Value: 對象的值
a is b    通過ID判斷 對象a和對象b是否是同一對象
a == b    通過value判斷 對象a的值和對象b的值是否相等
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章