Шаг 1 из 4+130 XP
Protocol и Generics
Структурная типизация и параметризованные типы.
Protocol
from typing import Protocol
class HasArea(Protocol):
def area(self) -> float: ...
def total(items: list[HasArea]) -> float:
return sum(it.area() for it in items)
Generics (PEP 695, 3.12+)
def first[T](xs: list[T]) -> T:
return xs[0]