Несколько типов в аннотации в ООП в Python
Иногда один параметр может принимать значения разных типов. Например, метод может выводить и число, и строку - в зависимости от того, что передали.
Допустимые типы перечисляют через
вертикальную черту. Запись int | str
означает: подойдет целое число или строка.
Давайте сделаем метод show, который
работает с таким параметром:
class User:
def show(self, data: int | str) -> str:
return str(data)
Создадим объект и вызовем метод с разными аргументами:
user = User()
print(user.show(123)) # выведет '123'
print(user.show('john')) # выведет 'john'
Аннотация int | str описывает оба
варианта для читателя кода. Интерпретатор
при вызове ее не проверяет.
Сделайте класс Employee с методом
format_id. Пусть метод параметром
принимает число или строку и возвращает
строку. Укажите тип параметра как
int | str.