Как отметил Йоханнес,
for c in "string":
#do something with c
Вы можете перебирать почти все в python, используя конструкцию for loop
,
например, open("file.txt")
возвращает объект файла (и открывает файл), повторяя его итерируя по строкам в этом файле
with open(filename) as f:
for line in f:
# do something with line
Если это похоже на магию, ну, это так, но идея, стоящая за этим, действительно проста.
Существует простой протокол итератора, который можно применять к объектам любого типа, чтобы заставить цикл for
работать с ним.
Просто реализуйте итератор, который определяет метод next()
, и реализуйте метод __iter__
в классе, чтобы сделать его итеративным. (конечно, __iter__
должен возвращать объект итератора, то есть объект, который определяет next()
)
См. Официальную документацию