Чтобы определить, является ли объект итерируемым в Python, можно проверить, реализует ли он метод iter() или getitem(). 3
Один из способов — использовать встроенную функцию hasattr(). 5 Она принимает два аргумента: объект и имя атрибута, наличие которого проверяется. 5 Если объект итерируемый, то он будет иметь метод iter. 5
Более надёжным способом является использование функции iter(). 5 Она пытается вернуть итератор для объекта. 5 Если объект не итерируемый, то будет сгенерировано исключение TypeError. 5
Пример использования функции iter():
def is_iterable(obj): try: iter(obj) return True except TypeError: return False
Также можно использовать collections.abc.Iterable ABC и проверить с помощью функции issubclass. 1