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 нет статической типизации, а строгая тут вообще не при чём. Аннотации типов для интерпретатора не больше, чем комментарии.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы