廖大python实战项目第六天

Posted Wunsam_Chan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了廖大python实战项目第六天相关的知识,希望对你有一定的参考价值。

今天的比较简单,我就直接把源码上自己不容易搞懂的写一下吧。

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实战项目第六天的主要内容,如果未能解决你的问题,请参考以下文章

廖大python实战项目第五天

廖大python实战项目第四天

廖大python实战项目第二天

2018-10-19学习python第六天

廖大python实战教程第七天

python第六天