«Если оно выглядит как утка и крякает как утка, то, наверное, это утка» — примерно так определяют объекты динамические языки программирования (Python, JS).
То есть мы смотрим не на объект, а на его атрибуты. И если там, к примеру, есть
__iter__(), то объект считается итерируемым.📕 Документация
#урок
