Il y a des moments où vous pouvez raccourcir l'instruction if en utilisant max · min

J'ai remarqué que j'avais écrit du code python, alors prenez note. C'est peut-être une technique rudimentaire et courante, mais ...

Supposons que vous souhaitiez créer un branchement sur une variable appelée a selon que le résultat (some_condition + add_value) d'une certaine formule est supérieur à CONSTANT.

Pour le moment, essayez de l'écrire correctement avec une instruction if.

python


a = 0
if some_condition + add_value < CONSTANT:
    a = some_condition + add_value
else:
    a = CONSTANT

... Je pense que c'est trop redondant, donc je vais mettre l'opération else dans l'initialisation (déclaration de variable).

python


a = CONSTANT
if  some_condition + add_value < CONSTANT:
    a = some_condition + add_value

Après avoir fait cela, j'ai réalisé que tout ce que j'avais à faire était de comparer some_condition + add_value avec CONSTANT, j'ai donc utilisé min pour faire une seule ligne.

python


a = min(some_condition + add_value, CONSTANT)

Il n'y a pas d'opérateur ternaire en python, et le code a tendance à être long au moment du branchement conditionnel, mais si vous utilisez min / max, le code peut être un peu plus propre.

Recommended Posts

Il y a des moments où vous pouvez raccourcir l'instruction if en utilisant max · min
À propos de l'environnement de développement que vous utilisez
Vérifiez le type de variable que vous utilisez
Déterminer s'il y a des oiseaux dans l'image
Qu'utilisez-vous lorsque vous testez avec Python?
Que faire si vous obtenez l'erreur ʻERR_FEATURE_UNAVAILABLE_ON_PLATFORM` lors de l'utilisation de ts-node-dev sous Linux
Solution si heroku plante lors de l'utilisation de sélénium
Comment activer l'instruction for lorsqu'il existe plusieurs valeurs pour une clé dans le dictionnaire
(Python3) Non oO (Utilisez-vous la bibliothèque standard?): 5 shaders
Si vous pensez que la personne que vous mettez avec pip ne fonctionne pas → Utilisez-vous python3 par hasard?