Zum Hauptinhalt springen
🔒 Vorschaumodus. Die ersten fünfzehn Foundations-Lektionen sind kostenlos; diese hier ist Pro. Starte einen 7-Tage-Trial, um den Editor, AI-Hinweise und den Rest des Lehrplans freizuschalten. Karte erforderlich, jederzeit im Dashboard kündbar.7-Tage-Trial starten →
← KurseSenior Deep-DivesModul 5 · Architektur- und CodeüberprüfungInterne Mustervergleichsfunktionen – __match_args__predict76 / 161
+125 XP
Aufgabe
📝 **Frage:** Sagen Sie die genaue Ausgabe voraus. \`Point\` deklariert \`__match_args__ = ("x", "y")\`, sodass die Positionsform \`Point(x, y)\` in einer Case-Klausel über diese Slots entpackt wird. Fünf Eingaben werden über \`describe()\` weitergeleitet – prognostizieren Sie jeden Rückgabewert. 📋 Wählen Sie die richtige Antwort. 💡 **Hinweis:** Lesen Sie die obige Theorie noch einmal, wenn Sie sich nicht sicher sind.
Sage die Ausgabe vorher

Lies den Code sorgfältig

class Point:
    __match_args__ = ("x", "y")
    def __init__(self, x, y):
        self.x = x
        self.y = y


def describe(p):
    match p:
        case Point(0, 0):
            return "origin"
        case Point(0, y):
            return f"y-axis:{y}"
        case Point(x, y) if x == y:
            return f"diag:{x}"
        case Point(x, y):
            return f"other:{x},{y}"
        case _:
            return "not_point"


print(describe(Point(0, 0)))
print(describe(Point(0, 5)))
print(describe(Point(3, 3)))
print(describe(Point(2, 7)))
print(describe("hello"))

Was wird das Programm ausgeben? Schreib hier:

💬 Diskussion

Sei der erste — stelle eine Frage oder teile einen Tipp.
Anmelden um an der Diskussion teilzunehmen. Lesen ist kostenlos.
Diskussion wird geladen…