当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python types.SimpleNamespace用法及代码示例


用法:

class types.SimpleNamespace

一个简单的object 子类,提供对其命名空间的属性访问,以及有意义的repr。

object 不同,使用 SimpleNamespace 您可以添加和删除属性。如果 SimpleNamespace 对象使用关键字参数进行初始化,则这些参数会直接添加到底层命名空间。

该类型大致相当于以下代码:

class SimpleNamespace:
    def __init__(self, /, **kwargs):
        self.__dict__.update(kwargs)

    def __repr__(self):
        items = (f"{k}={v!r}" for k, v in self.__dict__.items())
        return "{}({})".format(type(self).__name__, ", ".join(items))

    def __eq__(self, other):
        if isinstance(self, SimpleNamespace) and isinstance(other, SimpleNamespace):
           return self.__dict__ == other.__dict__
        return NotImplemented

SimpleNamespace 可以作为 class NS: pass 的替代品。但是,对于结构化记录类型,请改用 namedtuple()

3.3 版中的新函数。

在 3.9 版中更改:repr 中的属性顺序从字母顺序更改为插入顺序(例如dict)。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 types.SimpleNamespace。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。