Неясно, для чего и как применяется 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" #здесь должна быть ошибка ??