一尘不染

len()和.__ len __()之间的区别?

python

呼叫len([1,2,3])或之间有什么区别[1,2,3].__len__()

如果没有明显的差异,那么幕后的操作又有什么不同?


阅读 203

收藏
2021-01-20

共1个答案

一尘不染

len是获取集合长度的函数。它通过调用对象的__len__方法来工作。__something__属性是特殊的,通常不只是眼神,通常不应直接调用。

它是在很久以前的某个时刻决定的,它的长度应该是一个函数而不是方法代码,理由是len(a)初学者可以理解的含义,但a.len()不清楚。Python启动__len__时甚至还不存在,这len是一种特殊的东西,可用于几种类型的对象。不管情况是否如此,从整体上讲都是合理的,它将继续存在。

2021-01-20