python中为什么某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现?

python中为什么某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现?

正如Guido所说:

(a) 对于某些操作,前缀表示法比后缀更容易阅读 — 前缀(和中缀!)运算在数学中有着悠久的传统,就像在视觉上帮助数学家思考问题的记法。比较一下我们将 x*(a+b) 这样的公式改写为 x*a+x*b 的容易程度,以及使用原始OO符号做相同事情的笨拙程度。

(b) 当读到写有len(X)的代码时,就知道它要求的是某件东西的长度。这告诉我们两件事:结果是一个整数,参数是某种容器。相反,当阅读x.len()时,必须已经知道x是某种实现接口的容器,或者是从具有标准len()的类继承的容器。当没有实现映射的类有get()或key()方法,或者不是文件的类有write()方法时,我们偶尔会感到困惑。

—https://mail.python.org/pipermail/python-3000/2006-November/004643.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python中为什么某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现?