【发布时间】:2012-09-15 04:50:36
【问题描述】:
>>> s = 'spam'
>>> s.__next__()
结果是: 回溯(最近一次调用最后一次): 文件“”,第 1 行,在 s._下一个_() AttributeError: 'str' 对象没有属性 '_next_'
但在文档http://docs.python.org/py3k/library/stdtypes.html#iterator-types 中,我们可以阅读有关迭代器类型的信息:
Python 支持对容器进行迭代的概念。这是使用两种不同的方法实现的;这些用于允许用户定义的类支持迭代。 序列,下面将详细描述,始终支持迭代方法。
下面描述的是:序列类型——str、bytes、bytearray、list、tuple、range。
那么,为什么 str 不支持 next()?
【问题讨论】:
标签: python-3.x