OTCloud
@OTCloud
Программирование и Архитектура ПО

Почему при указании типа аргмента в сигнатуре метода python3 все равно разрешает передавать другие типы?

Есть следующая сигнатура метода класса.
def set_project_name(self, project_name: ProjectNameParameter):
        self.__project_name = project_name

        return self

и вот пример вызова этого метода
# self.__parameters[ProjectNameParameter.NAME] -> ProjectNameParameter
action.set_project_name(self.__parameters[ProjectNameParameter.NAME])


Кейс 1: передаю через self.__parameters[ProjectNameParameter.NAME] сначала тот тип который мне нужно => все работает.
Кейс 2: передаю через self.__parameters[ProjectNameParameter.NAME] какую нибудь строку, например "python wtf?" => все работает

Почему так? Может в питоне есть какая нибудь настройка для включения строгой типизации?
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Потому что в Python нет статической типизации, а строгая тут вообще не при чём. Аннотации типов для интерпретатора не больше, чем комментарии.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы