当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python __len__()用法及代码示例


Python __len__是各种魔法方法之一Python编程语言,它本质上用于实现len()函数Python因为每当我们调用len()函数然后在内部调用 __len__ 魔术方法。它最终返回一个大于或等于零的整数值,因为它代表了长度对象它被称为。

Python __len__() 函数语法

Syntax: object.__len__()

  • object: It is the object whose length is to be determined.                 

Returns: Returns a non negative integer.

Python __len__() 函数示例

当。。。的时候对象我们正在迭代已经在内部定义了 __len__ 方法,然后 len 函数给出了对象的正确结果,即

Python3


class GFG:
    def __init__(self, a):
        self.a = a
    def __len__(self):
        return len(self.a)
       
obj = GFG("GeeksForGeeks")
print(len(obj))

输出:

13

示例 2:

当对象没有预定义的 __len__ 方法时,则在执行 len fu 时作用它给出了TypeError,但可以通过我们自己定义 __len__ 方法来纠正,

Python3


class GFG:
   
    def __init__(self, item):
        self.item = item
    def __len__(self):
        return 1
obj = GFG("Geeksforgeeks")
print(obj.__len__())

输出:

1

默认 __len__() 实现

当我们从类中调用 len(obj) 而不定义 __len__() 方法时,那么它 将引发 TypeError:类型为“…”的对象没有len()。

Python3


class Length:
    pass
     
obj = Length()
print(len(obj))

输出:

TypeError                                 Traceback (most recent call last)
<ipython-input-9-c08d3a505e12> in <module>
     3 
     4 obj = Length()
----> 5 print(len(obj))
TypeError: object of type 'Length' has no len()


相关用法


注:本文由纯净天空筛选整理自shlokdi35dq大神的英文原创作品 Python __len__() magic method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。