Ale*_*tko 1 python collections
必须在类定义中实现哪些方法才能将其视为序列类型和可迭代类型?如果对它们有正式定义,您是否也可以提供对PEP或其他文档的定义?
从词汇表:
可迭代的是:
带有
__iter__()或__getitem__()方法的对象.迭代的示例包括所有序列类型(例如list,str和tuple)和一些非序列类型,如dict和file.当一个可迭代对象作为参数传递给内置函数iter()时,它返回该对象的迭代器.这个迭代器适用于一组值的一次传递.
迭代器是:
一个具有next()方法的iterable.迭代器需要有一个
__iter__()返回迭代器对象本身的方法.迭代器适用于一组值的一次传递.
一个序列是:
一个iterable,它通过
__getitem__()特殊方法使用整数索引支持有效的元素访问,并定义一个返回序列长度的len()方法.一些内置序列类型是list,str,tuple和unicode.请注意,dict也支持__getitem__()和__len__(),但是它被认为是映射而不是序列,因为查找使用任意不可变键而不是整数.
| 归档时间: | 
 | 
| 查看次数: | 57 次 | 
| 最近记录: |