【摘】python和它的内置类型子类化

python和它的内置类型子类化

看个好玩的东西

class Folder(list):

    def __init__(self, name):

        self.name = name

    def dir(self, nesting = 0):

        offset = '  ' * nesting
        print('%s%s/' % (offset, self.name))

        for element in self:
            if hasattr(element, 'dir'):
                element.dir(nesting + 1)
            else:
                print('%s  %s' % (offset, element))


if __name__ == '__main__':

    tree = Folder('porject')
    tree.append('README.md')

    src = Folder('src')
    src.append('script.py')

    tree.append(src)
    tree.dir()

它的结果是

porject/
  README.md
  src/
    script.py

内置类型覆盖了大部分使用场景
如果打算创建一个与序列或映射类似的新类,应考虑其特性并查看现有的内置类型。
除了基本内置类型,collections模块还额外提供了许多有用的容器。大部分情况下最终会使用它们。

摘自 《Python高级编程》

posted @   白应非  阅读(145)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 上周热点回顾(1.20-1.26)
· 【译】.NET 升级助手现在支持升级到集中式包管理
点击右上角即可分享
微信分享提示