呼叫len([1,2,3])或之间有什么区别[1,2,3].__len__()?
len([1,2,3])
[1,2,3].__len__()
如果没有明显的差异,那么幕后的操作又有什么不同?
len是获取集合长度的函数。它通过调用对象的__len__方法来工作。__something__属性是特殊的,通常不只是眼神,通常不应直接调用。
len
__len__
__something__
它是在很久以前的某个时刻决定的,它的长度应该是一个函数而不是方法代码,理由是len(a)初学者可以理解的含义,但a.len()不清楚。Python启动__len__时甚至还不存在,这len是一种特殊的东西,可用于几种类型的对象。不管情况是否如此,从整体上讲都是合理的,它将继续存在。
len(a)
a.len()