「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 专属数据库
网友评论