Python';s len()自定义创建类的大O表示法

Python';s len()自定义创建类的大O表示法,python,class,big-o,Python,Class,Big O,是自定义创建对象的\uuuu len\uuuu(self)的运行时间,O(1)与CPython实现的内置类型相同 对于内置python对象来说,它们是O(1),因为它们跟踪它们的长度,而长度是通过_len__;()访问的。如果自定义创建的对象执行此操作,或从执行此操作的对象继承,则为“是”。这取决于它是如何实现的。我可以在uu len uu()中放置一个循环,它不需要O(1)个时间。我认为内置类型只返回self.length,其中length是附加到对象的更新值一段字符串有多长?未指定函数的大O

是自定义创建对象的\uuuu len\uuuu(self)的运行时间,O(1)与CPython实现的内置类型相同

对于内置python对象来说,它们是O(1),因为它们跟踪它们的长度,而长度是通过_len__;()访问的。如果自定义创建的对象执行此操作,或从执行此操作的对象继承,则为“是”。这取决于它是如何实现的。我可以在uu len uu()中放置一个循环,它不需要O(1)个时间。

我认为内置类型只返回self.length,其中length是附加到对象的更新值

一段字符串有多长?未指定函数的大O是未指定的。自定义创建的类应该实现自己的
\uu len\uu
方法,其时间复杂度当然取决于自定义方法本身的实现。