Python字典的初始化,字典参数引用传递等问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python字典的初始化,字典参数引⽤传递等问题# 字典初始化⽅法⼀:

1 a = {}

2 b, c = {}, {}

3 d =dict(a="a", b="b") # b = {"a": "a", "b": "b"}

View Code

# ⽅法⼆:通过函数全局初始化

1def change():

2global 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"}

View Code

# ⽅法三:通过函数返回值初始化

1def change():

2 a = {"1": "1"}

3return a

4

5 a = change()

6

7# 打印

8 >> a = {"1": "1"}

View Code

# 错误⽅法:通过引⽤传参完全修改字典

1def change(a): # 传递引⽤参数,试图⽤新的字典覆盖原来的字典

2 a = {"1": "1"}

3

4 a = {}

5 change(a)

6

7# 打印

8 >> a = {} # 没有修改成功

View Code

# 这个 bug 找了好久才发现,⽤ c / c++ 引⽤传参来理解 python 不完全正确

相关文档
最新文档