Python ont un équivalent à "basculer"?
Je suis en train de vérifier chaque index de 8 chiffres binaires de la chaîne. Si c'est '0'
alors il est 'OFF'
sinon sa 'ON'
.
Est-il une manière plus concise pour écrire ce code avec un interrupteur de mise en fonction comme.?
- Êtes-vous essayer de faire [{'0':'Off', '1':'Sur'}.get(b) pour b de "01101101"]
- Double Possible de des Remplacements pour instruction switch en Python?
Vous devez vous connecter pour publier un commentaire.
Non, il ne le fait pas. Quand il s'agit de la langue elle-même, l'une des principales Python principes est d'avoir seulement un moyen de faire quelque chose. Le commutateur est redondant à:
(sans la chute-à travers, bien sûr).
Le commutateur a été initialement présenté comme une optimisation du compilateur C. les compilateurs Modernes n'ont plus besoin de ces conseils pour optimiser cette sorte de logique de l'énoncé.
switch
's but a été de dire au compilateur de construire une table de saut? (Je sais compilateurs gcc n'a pas besoin de cela.){}
au lieu de<>
)?Essayez plutôt ceci:
Ou vous pouvez utiliser une liste de compréhension ou de générateur d'expression si vos fonctions valeurs de retour:
d'autre-si est une mauvaise pratique, car ils sont dangereux lorsqu'ils sont trop longs, et de les impliquer inutile branchements conditionnels (peut-être affectant compilateur /cache).
essayez ceci...
if: elif: