python __len__
时间: 2023-06-28 20:06:52 浏览: 100
`__len__` 是 Python 中的一个特殊方法,用于返回对象的长度。当使用内置函数 `len()` 计算对象的长度时,Python 会调用该对象的 `__len__` 方法来获取长度。例如,对于一个字符串对象,可以通过 `len()` 函数获取字符串的长度,实际上是调用了该字符串对象的 `__len__` 方法。
以下是一个简单的示例,演示了如何在类中实现 `__len__` 方法:
```python
class MyClass:
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
my_obj = MyClass("Hello, world!")
print(len(my_obj)) # 输出 13
```
在上面的示例中,我们定义了一个名为 `MyClass` 的类,该类包含一个名为 `data` 的实例变量和一个 `__len__` 方法。在 `__len__` 方法中,我们返回了 `self.data` 的长度,以实现计算对象的长度。最后,我们创建了一个 `MyClass` 对象 `my_obj`,并通过 `len()` 函数获取了它的长度,输出结果为 13。
相关问题
python中__len__
__len__ 是 Python 中的一个特殊方法(也称为魔术方法或双下划线方法),用于返回对象的长度或大小。当我们对一个对象使用内置函数 len() 时,Python 会自动调用对象的 __len__ 方法来获取其长度。
例如,如果我们定义了一个自定义类 MyList,可以通过实现 __len__ 方法来让该类的实例支持 len() 函数:
```
class MyList:
def __init__(self, items):
self.items = items
def __len__(self):
return len(self.items)
```
在上述示例中,我们在 MyList 类中定义了 __len__ 方法,该方法返回了 self.items 的长度。当我们使用 len() 函数来获取 MyList 对象的长度时,Python 会自动调用该方法。
```python
my_list = MyList([1, 2, 3, 4, 5])
print(len(my_list)) # 输出: 5
```
通过实现 __len__ 方法,我们可以自定义对象在使用 len() 函数时的行为,使其符合我们的需求。
python中__len__方法
在Python中,`__len__`方法是一个特殊方法,用于定义一个对象的长度。当我们调用内置函数`len()`来获取对象的长度时,Python会自动调用对象的`__len__`方法来返回长度。如果对象没有实现`__len__`方法,调用`len()`函数将会报类型错误。
在给出的三个例子中,对比一中的对象`A`实现了`__len__`方法,该方法返回了成员变量`a`的元素个数。所以,调用`len(A)`将会输出12,即成员变量`a`的长度。
对比二中的对象`A`同样实现了`__len__`方法,该方法返回了成员变量`b`的元素个数。所以,调用`len(A)`将会输出4,即成员变量`b`的长度。
而对比三中的对象`A`没有实现`__len__`方法,所以调用`len(A)`将会报类型错误。因为`len()`函数在这种情况下无法确定对象的长度。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [python 中的 __len__(self) 方法](https://blog.csdn.net/weixin_45580017/article/details/124553090)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文