这几天在看源码,看到这一段,里面有注释但还是看不懂,特请教诸位为我解惑。源码如下
根据提示:是把 “a.b.c = d”生成为{'a':{'b':{'c':'d'}}}
但是这代码思路我搞不懂。
你这个例子里面相当于key = 'a.b.c'
, value = 'd'
, parts = ['a', 'b', 'c']
然后从parts里面把a, b, c逐个取出来key = parts.pop(0)
,组成字典。parent.setdefault(key, {})
的意思就是如果parent里面没有key,那么就parent[key] = {}
,如果有key,则返回key对应的value,即parent[key]