почему строки python не имеют функции __iter__?

Как получается, что мы можем перебирать строки Python, если строки не имеют функции __ iter __ ?

$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> "asdf".__iter__
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'str' object has no attribute '__iter__'
>>> it = iter("asdf")      
>>> it

>>> 

И что более важно (однако строки повторяются по ), почему строки python не следуют тому же соглашению, что и все остальное, особенно когда в документации Python говорится, что необходима функция __ iter __ http://docs.python.org/library/functions. html # iter ?

20
задан Alexander Bird 25 February 2011 в 03:00
поделиться