На этом шаге мы приведем общие сведения об этих классах.
Язык Python поддерживает средства для создания классов особого назначения: итераторов, контейнеров и перечислений.
Итераторы - это классы, генерирующие последовательности каких-либо значений. Такие классы мы можем задействовать, например, в циклах for:
class MyIterator: # Определяем класс-итератор . . . . . . it = MyIterator() # Создаем его экземпляр for v in it: # и используем в цикле for
Контейнеры - классы, которые могут выступать как последовательности (списки или кортежи) или отображения (словари). Мы можем обратиться к любому элементу экземпляра такого класса через его индекс или ключ:
class MyList: # Определяем класс-список . . . . . . class MyDict: # Определяем класс-словарь . . . . . . lst, dct = MyList(), MyDict() # Используем их lst[0] = 1 dct ["first"] = 578
Перечисления - особые классы, представляющие наборы каких-либо именованных величин, В этом смысле они аналогичны подобным типам данных, доступным в других языках программирования, - например, в С:
from enum import Enum # Импортируем базовый класс Enum class Versions(Enum): # Определяем класс-перечисление Python2.7 = "2.7" Python3.4 = "3.4" # Используем его if python_version == Versions.Python3.4: . . . . . .
Поддержка перечислений появилась в Python 3.4.
На следующем шаге мы рассмотрим итераторы.