编程语言
首页 > 编程语言> > 为什么Python代码使用len()函数而不是length方法?

为什么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

标签:string-length,python,function,oop,methods
来源: https://codeday.me/bug/20190915/1805766.html