# 字典初始化方法一:
1 a = {} 2 b, c = {}, {} 3 d =dict(a="a", b="b") # b = {"a": "a", "b": "b"}
# 方法二:通過函數全局初始化
1 def change(): 2 global a, b, c # 完全修改 a, b, c 要使用 global, 部分修改鍵值不需要 global 3 a = {"1": "1} 4 b = {"2": "2} 5 c = {"3": "3"} 6 7 a, b, c = {}, {}, {} 8 change() 9 10 # 打印 11 >> a = {"1": "1} 12 >> b = {"2": "2} 13 >> c = {"3": "3"}
# 方法三:通過函數返回值初始化
1 def change(): 2 a = {"1": "1"} 3 return a 4 5 a = change() 6 7 # 打印 8 >> a = {"1": "1"}
# 錯誤方法:通過引用傳參完全修改字典
1 def change(a): # 傳遞引用參數,試圖用新的字典覆蓋原來的字典 2 a = {"1": "1"} 3 4 a = {} 5 change(a) 6 7 # 打印 8 >> a = {} # 沒有修改成功
# 這個 bug 找了好久才發現,用 c / c++ 引用傳參來理解 python 不完全正確
