Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyOpGnMp 156 of 174 menu
◀ ▶

Параметр типа у метода в ООП в Python

Параметр типа можно объявить не только у класса, но и у отдельного метода. Имя пишут в квадратных скобках сразу после имени метода.

Добавим в обычный класс метод first, который возвращает переданный аргумент того же типа:

class Holder: def first[T](self, item: T) -> T: return item

Проверим работу метода:

holder = Holder() print(holder.first(10)) # выведет 10 print(holder.first('john')) # выведет 'john'

Тот же приём можно использовать внутри обобщённого класса Box:

class Box[T]: def __init__(self, value: T): self.value = value def wrap[U](self, extra: U) -> tuple[T, U]: return (self.value, extra)

Метод класса получает свой параметр U, независимый от T у класса.

Сделайте класс PairHolder с методом, который параметром типа принимает два значения одного типа и возвращает их кортеж.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить