• [^] # Re: switching cases finally

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Python 3.10 est disponible. Évalué à 4.

    Il n'a jamais été dit que python n'aurait jamais cette construction.

    Guido a même proposé, puis rejeté une pep pour l'ajout d'un switch case pour cause d’impopularité.

    Au temps pour moi.
    Je lis en effet sur net-informations.com :
    « Python doesn't have a switch/case statement because of Unsatisfactory Proposals . Nobody has been able to suggest an implementation that works well with Python's syntax and established coding style. There have been many proposals, some of which you can see in PEP 3103—A Switch/Case Statement . »
    Et je lis sur docs.python.org :
    « You can do this easily enough with a sequence of if... elif... elif... else. There have been some proposals for switch statement syntax, but there is no consensus (yet) on whether and how to do range tests. See PEP 275 for complete details and the current status. »
    Il y avait eu aussi PEP 622 (lu sur SO...)

    Bref, personne n'a changé d'avis.. et dire que python n'aurait jamais cette construction était juste une erreur d’interprétation.

    Ça fait longtemps et je ne sais pas si je peux encore retrouver les références. Quand j'avais commencé à apprendre le langage, j'ai souvenir qu'on n'expliquait pas aussi bien (implémentation satisfaisante et cohérence syntaxique) mais on parlait d'avoir un langage simple où il ne devait pas y avoir plusieurs façons de faire la même chose... Par rapport à cela, il faisait sens de ne pas avoir de structures alternatives quand if... elif... elif... else fait l'affaire. Dans certains cas on peut s'en sortir en jouant avec des maping/dico (de lambda c'est encore mieux) ...même si j'ai déjà vu des trucs plus sioux/créatifs

    "It is seldom that liberty of any kind is lost all at once." ― David Hume