Naar hoofdinhoud
🔒 Voorbeeldmodus. De eerste vijftien Foundations-lessen zijn gratis; deze is Pro. Start een 7-daagse trial om de editor, AI-hints en de rest van het curriculum te ontgrendelen. Kaart vereist, op elk moment opzegbaar in Dashboard.Start 7-daagse trial →
← CursussenSenior Deep-DivesModule 10 · Production idioms (modern Python)TypedDict + NotRequired — JSON shapes as typespredict148 / 161
+150 XP
Opdracht
📝 **Taak:** Voorspel de uitvoer van 7 regels. Een User TypedDict heeft 2 vereiste sleutels (e-mailadres, naam) en 2 NotRequired-sleutels (leeftijd, adres). Creëer één gebruiker met alleen vereist, één met alle sleutels. Dump vervolgens __vereiste_sleutels__ en __optionele_sleutels__ gesorteerd (bevroren sets hebben geen deterministische iteratievolgorde, dus sorteer op voorspelbaarheid). 📋 Implementeer bovenstaande functie. Tests worden automatisch uitgevoerd. 💡 **Hint:** Herlees de theorie als je vastloopt.
Voorspel uitvoer

Lees de code zorgvuldig

from typing import TypedDict, NotRequired


class Address(TypedDict):
    street: str
    city: str


class User(TypedDict):
    email: str
    name: str
    age: NotRequired[int]
    address: NotRequired[Address]


# Required keys only
u1: User = {"email": "a@b.com", "name": "Ada"}
print(u1)
print(type(u1).__name__)
print(sorted(u1.keys()))

# All keys including NotRequired
u2: User = {
    "email": "b@c.com",
    "name": "Bob",
    "age": 30,
    "address": {"street": "1st", "city": "NYC"},
}
print(u2["address"]["city"])
print(u2.get("age", 0))

# Reflection on the TypedDict itself
print(sorted(User.__required_keys__))
print(sorted(User.__optional_keys__))

Wat zal het programma uitprinten? Schrijf hier:

💬 Discussie

Wees de eerste — stel een vraag of deel een tip.
Log in om mee te doen aan de discussie. Lezen is gratis.
Discussie laden…