Aller au contenu principal
🔒 Mode aperçu. Les quinze premières leçons Foundations sont gratuites ; celle-ci est Pro. Démarrez un trial de 7 jours pour débloquer l'éditeur, les conseils AI et le reste du programme. Carte requise, annulez à tout moment dans Dashboard.Démarrer le trial de 7 jours →
← CoursSenior Deep-DivesModule 2 · Composants internes et performances de CPythonfunctools.singledispatch — répartition de typepredict20 / 161
+100 XP
Tâche
📝 **Question :** Prédisez le résultat exact. \`render\` a enregistré des gestionnaires pour \`int\`, \`str\`, \`list\`. Deux des cinq appels ont une particularité : (1) \`render(True)\` — \`bool\` n'a pas de gestionnaire, mais est-il envoyé à un seul ? (2) \`render(3.14)\` — \`float\` n'a aucun gestionnaire. 📋 Choisissez la bonne réponse. 💡 **Indice :** Relisez la théorie ci-dessus en cas de doute.
Prédis la sortie

Lis le code attentivement

from functools import singledispatch


@singledispatch
def render(x):
    return "object:default"


@render.register
def _(x: int):
    return f"int:{x}"


@render.register
def _(x: str):
    return f"str:{x}"


@render.register
def _(x: list):
    return f"list[{len(x)}]"


print(render(42))
print(render("hi"))
print(render([1, 2, 3]))
print(render(True))
print(render(3.14))

Que va afficher le programme ? Écris ici :

💬 Discussion

Soyez le premier à poser une question ou partager une astuce.
Connectez-vous pour rejoindre la discussion. La lecture est gratuite.
Chargement de la discussion…