Μετάβαση στο κύριο περιεχόμενο
🔒 Λειτουργία προεπισκόπησης. Τα πρώτα δεκαπέντε μαθήματα Foundations είναι δωρεάν· αυτό είναι Pro. Ξεκινήστε ένα 7ήμερο trial για να ξεκλειδώσετε τον επεξεργαστή, τις υποδείξεις AI και το υπόλοιπο του προγράμματος. Απαιτείται κάρτα, ακυρώνετε οποιαδήποτε στιγμή από το Dashboard.Ξεκινήστε 7ήμερο trial →
← ΜαθήματαSenior Deep-DivesModule 10 · Production idioms (modern Python)typing.Annotated — metadata that hides BEHIND the typepredict144 / 161
+150 XP
Εργασία
📝 **Εργασία:** Προβλέψτε την έξοδο 5 γραμμών. Ένας δείκτης μεταδεδομένων «Εύρος» προσαρτάται σε μια παράμετρο «int» μέσω του «Σχολιασμένο». Στη συνέχεια, το μάθημα επιθεωρεί την υπόδειξη τύπου μέσω 3 βοηθών: «get_type_hints(include_extras=True)», «get_origin», «get_args». Δώστε προσοχή στο τι επιστρέφει το «get_origin» για έναν τύπο Σχολιασμένο — ΔΕΝ είναι ο υποκείμενος τύπος. 📋 Υλοποιήστε την παραπάνω λειτουργία. Οι δοκιμές εκτελούνται αυτόματα. 💡 **Υπόδειξη:** Ξαναδιάβασε τη θεωρία αν κολλήσεις.
Πρόβλεψε έξοδο

Διάβασε τον κώδικα προσεκτικά

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])

Τι θα εμφανίσει το πρόγραμμα; Γράψε εδώ:

💬 Συζήτηση

Γίνε ο πρώτος — κάνε μια ερώτηση ή μοιράσου μια συμβουλή.
Σύνδεση για να συμμετάσχεις στη συζήτηση. Η ανάγνωση είναι δωρεάν.
Φόρτωση συζήτησης…