Maison > développement back-end > Tutoriel Python > Pourquoi \'1\' dans \'11\' == True est-il évalué à False en Python ?

Pourquoi \'1\' dans \'11\' == True est-il évalué à False en Python ?

Patricia Arquette
Libérer: 2024-10-30 11:38:00
original
742 Les gens l'ont consulté

Why Does '1' in '11' == True Evaluate to False in Python?

Python : confusion de priorité des opérateurs avec les opérateurs 'in' et de comparaison

En Python, comparer l'appartenance à une séquence et l'égalité peut conduire à des résultats inattendus en raison à la priorité égale des opérateurs « in » et de comparaison. Lorsqu'ils sont rencontrés dans une expression sans parenthèses, ces opérateurs sont évalués de gauche à droite.

Par exemple :

'1' in '11' == True  # Evaluates to False
Copier après la connexion

Cette expression est interprétée comme :

('1' in '11') and ('11' == True)
Copier après la connexion

Puisque « 11 » n’est pas égal à True, l’expression entière est évaluée à False. Pour obtenir le résultat escompté (Vrai), les parenthèses sont requises :

'1' in '11' == True  # Evaluates to True
Copier après la connexion

Cependant, si des parenthèses sont placées autour de l'opérande opposé :

'1' in ('11' == True)  # TypeError
Copier après la connexion

une TypeError est levée car '11' est égal à True, qui est une valeur booléenne et donc non itérable. Pour éviter cette erreur, assurez-vous que l'opérateur 'in' est utilisé avec un objet itérable.

Comprendre la priorité et le chaînage des opérateurs en Python est crucial pour écrire du code qui se comporte comme prévu. Les opérateurs ayant la même priorité sont évalués de gauche à droite et le chaînage vous permet d'effectuer plusieurs évaluations sur une seule ligne. En examinant attentivement la priorité et le chaînage des opérateurs, vous pouvez éviter des résultats inattendus et écrire un code plus efficace.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal