Аннотация None в ООП в Python
Бывает, что параметр или результат метода
может быть не только строкой или числом,
но и отсутствовать - то есть иметь значение
None.
Такой тип записывают через вертикальную
черту: сначала основной тип, затем None.
Например, str | None означает: ожидается
строка или None.
Давайте сделаем метод, который ищет работника по имени и может никого не найти:
class Employee:
def __init__(self, name):
self.name = name
def find_by_name(self, name: str) -> Employee | None:
if self.name == name:
return self
return None
Запись -> Employee | None подсказывает:
метод вернет объект Employee или
None. Python при вызове это не
проверяет.
Сделайте класс Employee с методом
get_nickname. Пусть метод возвращает
кличку работника или None, если
клички нет. Укажите тип возвращаемого
значения как str | None.