Python:用户字典

标签 python

我正在阅读“深入Python”。我遇到了这段代码:

    class UserDict:
        def __init__(self, dict=None):
            self.data = {}
            if dict is not None: self.update(dict)

问题:为什么是“self.update”而不是“self.data.update”?

最佳答案

如果你查看UserDict的源代码,你会发现update方法是单独定义的。 __init__ 方法只调用它自己的 update 方法,该方法调用 data 属性的 update。这使得代码更加模块化和可维护。另外,正如 @Ignacio 指出的那样,任何其他继承自 UserDict 的类都可以更轻松地扩展或重写 update 方法。

关于Python:用户字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10068536/

相关文章:

python - Spark 连接呈指数级缓慢

python - 将自定义信号处理程序与 gunicorn 结合使用

python - Pyramid 路由问题

python - 为更新的 exe 创建一个下载栏

python - 保存Autoencoder的编码器模型

python - Pandas :获取最小列的名称

python - Google Docs python gdata 2.0.16 将文件上传到现有集合

python - 用正则表达式有条件地替换数字

Python 用 str 和 int 计数

java - 如何实现一种算法来检查 Python 代码的缩进