+-
为什么Python代码使用len()函数而不是length方法?
我知道 python有一个len()函数,用于确定字符串的大小,但我想知道为什么它不是字符串对象的方法.

更新

好吧,我意识到我很尴尬. __len __()实际上是一个字符串对象的方法.使用字符串对象上的len函数在Python中看到面向对象的代码似乎很奇怪.此外,将__len__视为名称而不仅仅是len也很奇怪.

最佳答案
字符串确实有一个长度方法:__ len __()

Python中的协议是在具有长度的对象上实现此方法,并使用内置的len()函数,它为您调用它,类似于实现__iter __()的方式并使用内置的iter()函数(对于可迭代的对象,可以使用在幕后调用的方法).

有关更多信息,请参见Emulating container types.

以下是Python中协议主题的一个很好的阅读:Python and the Principle of Least Astonishment

点击查看更多相关文章

转载注明原文:为什么Python代码使用len()函数而不是length方法? - 乐贴网