【发布时间】:2015-05-04 16:34:16
【问题描述】:
我不断看到像this 和this 这样的函数和文档(仅举几例) 对类似列表的对象进行操作或引用。 p>
我很清楚实际列表到底是什么 (dir(list)),并且可以从列表中推断出在大多数对“列表-像对象”,但是我看到它被引用的次数给我留下了以下问题:
“类列表”对象是否有官方或常识标准的最小接口? 是像实现__getitem__ 这样简单,还是同意像__len__ 这样的附加内容和__setitem__ 也需要吗?
这可能看起来像语义,但我不禁认为,如果不存在标准的最小接口要求,“list-likeness”的各种想法可能会导致一些问题/不正确处理。也许这只是 Python 的鸭子类型的一个小缺点?
【问题讨论】:
-
欢迎来到鸭打字的精彩世界。
-
@aruisdante 这些是一些非常糟糕的仅链接答案,没有解决 OP 的问题。
-
@cpburnz 虽然它们绝对只是链接,而不是在解释链接方面的最高质量,但我不确定您如何不提供标准 python 协议的完整列表( list-like 固执地是,因此建议重复),没有链接到它们,特别是因为链接是到核心 python 文档。 SO 肯定不适合这样的存储库。话虽如此,Antii 的回答肯定涵盖了具体情况,这就是为什么我赞成它。
-
@aruisdante 参考文献很棒,但仅仅链接到它们对于 stackoverflow 的答案来说是不够的。应提供信息摘要。此外,data model 文档非常密集。在不了解事物的工作原理的情况下,还不清楚哪种方法与哪种协议相匹配。