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()
相关用法
- Python __import__()用法及代码示例
- Python __getslice__用法及代码示例
- Python __rmul__用法及代码示例
- Python __getitem__()用法及代码示例
- Python __call__用法及代码示例
- Python __exit__用法及代码示例
- Python __new__用法及代码示例
- Python __init__用法及代码示例
- Python __file__用法及代码示例
- Python __name__用法及代码示例
- Python __repr__()用法及代码示例
- Python __add__()用法及代码示例
- Python String format()用法及代码示例
- Python abs()用法及代码示例
- Python any()用法及代码示例
- Python all()用法及代码示例
- Python ascii()用法及代码示例
- Python bin()用法及代码示例
- Python bool()用法及代码示例
- Python bytearray()用法及代码示例
- Python callable()用法及代码示例
- Python bytes()用法及代码示例
- Python chr()用法及代码示例
- Python compile()用法及代码示例
- Python classmethod()用法及代码示例
注:本文由纯净天空筛选整理自shlokdi35dq大神的英文原创作品 Python __len__() magic method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。