Для чего применяется Optional[]?

Неясно, для чего и как применяется Optional[].
В примере ниже я задаю переменную типа Optional[Point]. Я ожидал что при присвоении переменной значения другого типа вылетит ошибка времени исполнения, но нет. Спокойно присваивается и 5 и "hello". Смысл тогда использовать Optional? Или я делаю что-то не так?

from typing import Optional

class Point:
    def __init__(self,val):
        self.x = val

    def __str__(self):
        return str(self.x)


a : Optional[Point]
b : Optional[Point]
c : Optional[Point]


a = None      # 
b = 5             #здесь должна быть ошибка ??
c = Point(22)
a = "hello"     #здесь должна быть ошибка ??
  • Вопрос задан
  • 1925 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Аннотации типов интерпретатору безразличны. Можно сказать, что это просто комментарии строгого формата, на которые могут реагировать линтеры, и всё.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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