zoukankan      html  css  js  c++  java
  • 【摘】人生苦短, 每日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高级编程》

  • 相关阅读:
    层模型--绝对定位(position:absolute)
    什么是层模型?
    浮动模型
    流动模型(二)
    插值方法
    CFS调度分析(内核版本:2.6.34)
    CRC检验
    ubuntu误删home目录
    随想
    Android——Activity生命周期
  • 原文地址:https://www.cnblogs.com/featherw/p/10316455.html
Copyright © 2011-2022 走看看