len()是python中的函数或方法吗?

时间:2019-05-16 11:57:43

标签: python

在面向对象编程的上下文中,功能不同于方法。

当我检查帮助文档时,这段代码

?len

输出

Signature: len(obj, /)
Docstring: Return the number of items in a container.
Type:      builtin_function_or_method

这是否意味着len()可能是函数还是方法取决于具体情况?

2 个答案:

答案 0 :(得分:3)

有一个内置的len 功能 。您可以像len(obj)一样使用它。每个对象都可以实现自己的__len__方法来覆盖len()返回的内容; len函数将调用__len__方法。

如果任何对象选择也实现len方法,则可以这样做,但这与len函数或__len__约定无关。

builtin_function_or_method只是意味着手册没有特别区分这两件事,并将它们都归为同一类型。

答案 1 :(得分:2)

len()是一个函数,而__len__()是方法。

阅读Here了解更多信息。