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高级编程》