好用的 Bunch

「Bunch」设计模式:

Bunch Pattern 字面意思大概是指链式的束式结构.主要用于存储松散的数据。

它能让我们以命令行参数的形式创建相关对象,并设置任何属性。

class Bunch(dict):
    
    def __init__(self, *args, **kwds):
        super().__init__(*args, **kwds)
        self.__dict__ = self
x = Bunch(age="54", address="Beijing")

x.age
'54'
x.address
'Beijing'

由于它继承自 dict 类,我们可以自然而然获得大量相关内容,如对于相关键值/属性值的遍历,或者简单查询一个属性是否存在。

T = Bunch
t = T(left=T(left='a',right='b'), right=T(left='c'))
t.left
{'left': 'a', 'right': 'b'}
t.left.right
'b'
t['left']['right']
'b'
"left" in t.right
True
"right"in t.right
False

上面的实现是不是有点像二叉树?是不是很神奇?

更多精彩内容见一个使用 Bunch 的实现:定制 AI 专属数据库

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容