1. 程式人生 > >廖大python實戰項目第六天

廖大python實戰項目第六天

urn 遞歸調用 {} item for 不容易 對象 ide pytho

今天的比較簡單,我就直接把源碼上自己不容易搞懂的寫一下吧。

merge()方法

def merge(defaults, override):
    r = {}
    for k, v in defaults.items():
        if k in override:
            if isinstance(v, dict):
                r[k] = merge(v, override[k]) # 遞歸調用
            else:
                r[k] = override[k]
        else:
            r[k] = v
    return r

這個方法使用了遞歸調用

Dict()類和toDict()方法

這個原本也沒怎麽看懂,但是一翻評論區還是找到了答案。
configs是一個dict對象,使用它的時候不是很方便。比如,configs[db][host]是讀取配置,但是轉化為Dict類之後我們就可以這樣讀取了:configs.db.host

廖大python實戰項目第六天