【发布时间】:2016-01-18 02:57:36
【问题描述】:
我过去使用过 abc,我想再次使用它们,以使用 @abstractmethod 强制执行纯虚拟方法。这是在 Python 前端到用户将经常扩展的 API 的上下文中。
开发一个可靠的综合测试规模对我来说有点太复杂了,而且我一直使用 abc 作为一个黑魔法封闭盒子,所以我不知道抽象和检查摘要的成本在哪里,以及可能发生的时间,或者成本的实际情况或规模。
我在任何地方都找不到令人满意的基础机制的完整信息,因此任何关于何时何地发生魔法以及以何种成本发生的指针将不胜感激(导入?实例化?如果实例扩展,成本会翻倍?)
有关用例的更多信息: 与以前的用例不同(对我而言),每个基础对象的实例数量非常有限,并且 abc 测量到没有可感知的开销,这一次将是针对某些东西(DAG 中具有树视图的节点)可以实例化然后在适当位置扩展数百次,并且每个类的虚拟方法的数量可能会达到十几个左右。
继承从来不是多重的,而且通常很浅,最多两三个深,大多数时候只有一个。
Python 2.7 由于第 3 方平台的限制。
【问题讨论】:
标签: python performance python-2.7 abc