Я предполагаю, что вы хотите проверить, что каждый объект в list_param
имеет тип SpamInterface
.Если это так, есть 2 разных способа проверки.Во-первых, ленивый способ использования функции all()
:
def many_spams(list_param):
if not all(isinstance(p, SpamInterface) for p in list_param):
raise TypeError('Not all objects are of type SpamInterface')
Этот метод короткий, но он не скажет вам, какой элемент в списке не прошел тест.Второй метод предлагает немного больше деталей:
def many_spams(list_param):
for index, param in enumerate(list_param):
if not isinstance(param, SpamInterface):
raise TypeError('Parameter at index {} is not of type SpamInterface: {}'.format(index, param))
Этот метод сгенерирует исключение для первого элемента, который не имеет типа SpamInterface
.