Il existe des opérateurs ʻor, ʻand
et not
en Python, mais ils sont appelés opérateurs booléens.
Tout objet peut être représenté comme une valeur de vérité (valeur vraie / fausse) en Python, et les fonctions intégrées suivantes sont jugées fausses.
De plus, si la classe de l'objet définit la méthode __bool__ ()
et qu'elle renvoie False
, ou si elle définit la méthode __len__ ()
et renvoie 0, elle sera jugée fausse. ..
La fonction intégrée bool ()
est utilisée pour le jugement.
>>> bool(None)
False
>>> bool(False)
False
>>> bool(0)
False
>>> bool("")
False
>>> bool([])
False
#Tout ce qui n'est pas faux est vrai
>>> bool("0")
True
>>> bool([False])
True
ʻUtilisé lorsque vous voulez déterminer si A ou B est vrai`. Bien sûr, il peut être utilisé en dehors de la syntaxe de contrôle telle que l'instruction if.
>>> x = True
>>> y = False
>>> x or y
True
>>> bool(x or y)
True
Par ailleurs, «ou» et «et» décrits plus loin ne renvoient pas de valeur booléenne, évaluent la valeur de l'objet comparé à partir de la gauche et le renvoient tel quel lorsque la valeur de retour est fixée.
Dans l'exemple ci-dessus (x ou y)
--Si x est vrai, y n'est pas évalué et x est renvoyé (même si y est vrai, x est renvoyé)
Ça marche
>>> a = 0 #Définir une valeur dont la valeur de vérité est True
>>> b = 1 #Définir une valeur dont la valeur de vérité est False
>>> a or b #Puisque b est vrai, b est retourné
1
>>> b or a #Même s'il est inversé, b est Vrai, donc b est renvoyé.
1
>>> b = "" #Réaffecter une valeur différente de celle dont la valeur de vérité est False
a or b #b est renvoyé car a est False
""
Au fait, ʻor` se comporte de la même manière même si deux ou plus sont connectés, et est évalué à partir de la gauche.
>>> a = 0
>>> b = 1
>>> c = 2
>>> a or b or c
1
Il est facile de le considérer comme un opérateur qui renvoie une valeur de vérité, mais n'oubliez pas.
ʻAnd peut être utilisé pour déterminer si ʻA et B sont tous les deux vrais
.
Comme pour «et», la valeur de retour est l'objet à évaluer, donc une valeur booléenne n'est pas renvoyée.
>>> x = 0
>>> y = 1
>>> x and y
0
Comme pour «ou», l'objet est renvoyé lorsque le résultat est confirmé.
--Retourne x si x est faux
Ça marche.
Veuillez noter que nous n'avons pas strictement vérifié que toutes les comparaisons sont vraies, car les faux objets renverront les résultats dès qu'ils seront trouvés.
Deux ou plus peuvent être connectés pour «et».
>>> a = 0
>>> b = 1
>>> c = 2
>>> a and b and c #Renvoie a parce que a est faux
0
>>> d = 10
>>> d and b and c #Lorsque d est vrai, b est vrai et c est confirmé, le résultat est confirmé, donc c est renvoyé.
2
not
est un opérateur qui représente la négation, et prend seulement une valeur après lui, telle que not False
, et annule cette valeur.
Contrairement aux deux opérateurs décrits ci-dessus, il renvoie une valeur booléenne.
>>> x = 0
>>> y = 1
>>> not x #x est une valeur qui devient False, mais si elle n'est pas ajoutée, elle devient True.
True
>>> not y #y est une valeur qui est True, mais si elle n'est pas ajoutée, elle devient False.
False
«not» a une priorité plus élevée que «ou» et «et» et est évalué en premier.
>>> a = 0
>>> b = 1
>>> c = 2
>>> not a and b and c #False a est refusé et devient vrai, renvoyant le dernier objet évalué c car tout est vrai
c
>>> d = 10
>>> d and not b and c #Tout était vrai, mais b est refusé et faux, donc b est retourné
False
Bien qu'elle soit basique, il est facile d'oublier la valeur de retour, je voudrais donc l'utiliser consciemment.
Recommended Posts