Заставить тип параметра функции в Python?

У меня есть функция в классе Python, которая добавляет интерфейсы в список.

def RegisterAsListener(self, inListener):
    self.__TransitListeners.append(inListener)

Это хорошо, потому что классу просто нужно наследовать от указанного моего интерфейса, захватить этот объект и зарегистрироваться для всех обновлений.

class ITransit():
    def TransitUpdate(self, data):
        raise NotImplementedError("You must define this function.")

(если я правильно сделал интерфейс)

Поскольку я не единственный в этом проекте, я не хочу, чтобы кто-то вызывал функцию RegisterAsListener с неверным типом данных. Я мог бы вставить код для проверки типа в функции регистра, но было бы проще, если бы компилятор просто кричал на программиста, когда он пытается ввести неверный тип данных.

def RegisterAsListener(self, IListener inListener):
    self.__TransitListeners.append(inListener)

Есть какой-либо способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос