Python Schoolby trefilov
Шаг 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]