Найти - Пользователи
Полная версия: вопрос по книге Лутца: итераторы
Начало » Python для новичков » вопрос по книге Лутца: итераторы
1
Dmitriy_b
Ребят, не совсем ясно что имеется ввиду когда сравниваются две возможности считывания строк из файла.
Первый - понятен с помощью метода f.readline() . Со вторым методом f.__next__ неясно как его проверить.
f=open(test.py)
f.__next__()

Выдает
AttributeError: ‘file’ object has no attribute ‘__next__’

Как в таком случае воспользоваться __next__ чтоб увидеть как оно работает?
Спасибо.
Stright
Предположу, что вы используете вторую ветку python, в ней у итераторов есть метод iterator.next(), который в третьей ветке был переименован в __next__()
Dmitriy_b
да действительно, 2.7 версия, спасибо, не подумал
py.user.next
Dmitriy_b
Как в таком случае воспользоваться __next__ чтоб увидеть как оно работает?
Используй встроенную функцию next(). Она знает, куда обращаться в каждой версии питона.
  
>>> it = iter([1, 2, 3])
>>> next(it)
1
>>> next(it)
2
>>> next(it)
3
>>> next(it)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB