Preskoči na glavni sadržaj
🔒 Način pregleda. Prvih petnaest Foundations lekcija je besplatno; ova je Pro. Pokrenite 7-dnevni trial da otključate editor, AI savjete i ostatak programa. Kartica obavezna, otkažite bilo kada u Dashboard.Pokreni 7-dnevni trial →
← KolegijiSenior Deep-DivesModule 10 · Production idioms (modern Python)typing.Annotated — metadata that hides BEHIND the typepredict144 / 161
+150 XP
Zadatak
📝 **Zadatak:** Predvidite izlaz u 5 redaka. Oznaka metapodataka "Raspon" pridružena je parametru "int" preko "Annotated". Lekcija zatim provjerava savjet tipa putem 3 pomoćnika: `get_type_hints(include_extras=True)`, `get_origin`, `get_args`. Obratite pozornost na to što `get_origin` vraća za označeni tip — to NIJE temeljni tip. 📋 Implementirajte gornju funkciju. Testovi se pokreću automatski. 💡 **Savjet:** Ponovno pročitajte teoriju ako zapnete.
Predvidi izlaz

Pažljivo pročitaj kod

from typing import Annotated, get_type_hints, get_args, get_origin


class Range:
    def __init__(self, lo: int, hi: int) -> None:
        self.lo = lo
        self.hi = hi

    def __repr__(self) -> str:
        return f"Range({self.lo}-{self.hi})"


def set_age(age: Annotated[int, Range(0, 120)]) -> None:
    pass


hints = get_type_hints(set_age, include_extras=True)
ann = hints["age"]

print(repr(ann))
print(get_origin(ann))
print(get_args(ann))
print(get_args(ann)[0])
print(get_args(ann)[1])

Što će program ispisati? Napiši ovdje:

💬 Rasprava

Budi prvi — postavi pitanje ili podijeli savjet.
Prijavi se kako bi se pridružio raspravi. Čitanje je besplatno.
Učitavanje rasprave…