关于Python的 求解答Bunch Pattern
高洛峰
高洛峰 2017-04-17 13:14:21
[Python讨论组]
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
黄舟

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

class Bunch(dict):
    def __init__(self, *args, **kwargs):
        super(Bunch, self).__init__(*args, **kwargs)
        self.__dict__ = self

print struct 
print struct.type
print struct.size
print struct.genus.level

# 输出
{'type': 'flat', 'genus': {'intensity': 'hot', 'level': 'medium'}, 'BOOL': True, 'family': 'chordata', 'size': 'huge'}
flat
huge
medium

如果是单纯的字典呢?

class Bunch(dict):
    def __init__(self, *args, **kwargs):
        super(Bunch, self).__init__(*args, **kwargs)
        # self.__dict__ = self
        pass

# 输出
{'type': 'flat', 'genus': {'intensity': 'hot', 'level': 'medium'}, 'BOOL': True, 'family': 'chordata', 'size': 'huge'}
AttributeError: 'Bunch' object has no attribute 'type'

这里的用法,主要是能够扩展成为一个链式的结构持续的保存数据,尤其是 struct是一个Bunch的实例,而 struct.genus 又是一个 Bunch 实例。

用这个可是简洁的写出字典模拟的二叉树。大概如此吧。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号