为什么Python中的字典和列表不继承'len'函数

为什么Python中的字典和列表不继承'len'函数,第1张

为什么Python中的字典和列表不继承'len'函数

Guido的解释在这里:

首先,出于HCI的原因,我选择len(x)而不是x.len()(def len ()来得晚)。实际上,HCI有两个相互交织的原因:

(a)对于某些运算,前缀表示法比后缀读得更好-前缀(和infix!)运算符在数学中有很长的传统,喜欢在视觉上帮助数学家思考问题的表示法。将我们将x
*(a + b)这样的公式重写为x * a + x * b的难易程度与使用原始OO符号做同样事情的笨拙程度进行比较。

(b)当我读到说len(x)的代码时,我知道它是在问某物的长度。这告诉我两件事:结果是整数,参数是某种容器。相反,当我阅读x.len()时,我必须已经知道x是实现接口或从具有标准len()的类继承的某种容器。当未实现映射的类具有get()或keys()方法,或者非文件类具有write()方法时,我们偶尔会感到困惑。

用另一种方式说同样的事情,我将“ len”视为内置 *** 作。我不想失去那个。/…/



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5645540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存