Maison >développement back-end >Tutoriel Python >Python booléens: joyaux cachés que j'aurais aimé savoir plus tôt
cet article explore certains aspects moins connus de la logique booléenne dans Python, visant à améliorer votre efficacité et votre lisibilité de codage. Nous couvrirons certaines opérations sous-utilisées, des stratégies d'amélioration du code et des pièges communs à éviter.
Le système booléen de Python est construit sur les valeurs fondamentales True
et False
. Cependant, sa flexibilité s'étend au-delà des simples comparaisons. Les concepts de vérité et de fausseté de Python sont cruciaux. Toute valeur peut être implicitement évaluée comme booléen; Les séquences vides (listes, tuples, chaînes, etc.), les valeurs numériques nulles (0, 0,0), None
, et les dictionnaires vides sont considérés comme «fausses», tandis que toutes les autres valeurs sont considérées comme «vérité». Cela permet des instructions conditionnelles concises:
<code class="python">my_list = [] if my_list: # Equivalent to if len(my_list) > 0: print("List is not empty") else: print("List is empty") my_string = "Hello" if my_string: # Equivalent to if len(my_string) > 0: print("String is not empty") else: print("String is empty")</code>
Cette conversion implicite peut réduire considérablement la verbosité du code et améliorer la lisibilité. Understanding truthiness and falsiness is key to effectively leveraging Python's Boolean capabilities.
Beyond the basic and
, or
, and not
operators, Python offers some less frequently used but incredibly powerful Boolean Outils:
all()
et any()
: Ces fonctions sont extrêmement utiles lorsqu'ils traitent des itérables. all(iterable)
Renvoie True
Si tous les éléments de l'ITERAY sont la vérité, sinon il renvoie False
. any(iterable)
Renvoie True
Si au moins un élément dans l'itérable est la vérité, sinon il renvoie False
. <code class="python">my_list = [True, True, True] print(all(my_list)) # Output: True print(any(my_list)) # Output: True my_list = [True, False, True] print(all(my_list)) # Output: False print(any(my_list)) # Output: True my_list = [0, 0, 0] print(all(my_list)) # Output: False print(any(my_list)) # Output: False</code>
and
et or
présentent un comportement de court-circuit de Python. Dans une opération and
, si le premier opérande est falsie, le deuxième opérande n'est pas évalué. De même, dans une opération or
, si le premier opérande est la vérité, le deuxième opérande n'est pas évalué. Cela peut être utilisé pour optimiser le code et éviter les calculs inutiles: <code class="python">expensive_function() and another_expensive_function() # another_expensive_function() only runs if expensive_function() returns True cheap_check() or expensive_function() # expensive_function() only runs if cheap_check() returns False </code>
Cela peut être particulièrement utile lorsque l'on s'occupe potentiellement de capacités booléennes de Python. par:
if-else
, utilisez des expressions booléennes pour exprimer succinctement les conditions. all()
et any()
pour les chèques itables: Cela améliore considérablement la liaison par rapport à la logeage manuelle et à la vérification et à la vérification de la vérification manuelle et à la vérification de la motivation et à la vérification manuelle et à la vérification manuelle et à la vérification manuelle et à la vérification de la motivation et à la vérification manuelle et à la vérification manuelle et à la vérification manuelle et à la vérification de la motivation et à la vérification manuelle et à la vérification manuelle et à la vérification manuelle et à la vérification de la motivation et à la vérification manuelle et à la vérification manuelle et à la vérification manuelle et à la vérification élément. and
et or
. L'indentation et l'espacement cohérents pour une meilleure clarté de code. ==
surplombant les implications de court-circuit: is
Soyez conscient que le deuxième opérande dans ou ==
pourrait ne pas être évalué, ce qui pourrait affecter le comportement des fonctions de la bœuf et d'éviter le bœuf et d'éviter le bœuf et le bœuf et le bœuf et le bœuf et le bœuf de python et le bœuf et le bœuf de python et le bœuf et le bœuf de python et le bœuf et le bœuf de python et le bœuf de python et le bœuf de python et le bœuf de python et la bœuf et le bœuf de Python et la bœuf de Python et le Boolan Sythme Pièges, vous pouvez écrire du code plus efficace, lisible et maintenable. is
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!