Formellement, True
est une constante intégrée Python de type booléen .
Vous pouvez utiliser des opérations booléennes sur des types booléens (à l'invite interactive python par exemple) et convertir des nombres en types booléens:
>>> print not True
False
>>> print not False
True
>>> print True or False
True
>>> print True and False
False
>>> a=bool(9)
>>> print a
True
>>> b=bool(0)
>>> print b
False
>>> b=bool(0.000000000000000000000000000000000001)
>>> print b
True
Et il y a potentiellement des "gotcha" avec ce que vous voyez et ce que voit le compilateur Python:
>>> n=0
>>> print bool(n)
False
>>> n='0'
>>> print bool(n)
True
>>> n=0.0
>>> print bool(n)
False
>>> n="0.0"
>>> print bool(n)
True
Pour savoir comment Python stocke les types booléens en interne, vous pouvez convertir les types booléens en nombres entiers et True sera 1 et False 0:
>>> print True+0
1
>>> print True+1
2
>>> print False+0
0
>>> print False+1
1
En fait, le bool
type Python est une sous-classe du int
type de Python :
>>> type(True)
<type 'bool'>
>>> isinstance(True, int)
True
La partie la plus importante de votre question est "Qu'est-ce que c'est while True
?" est «ce qui est vrai», et un corollaire important: qu'est-ce qui est faux?
Tout d'abord, pour chaque langue que vous apprenez, apprenez ce qu'elle considère comme «véridique» et «faux». Python considère Truth légèrement différemment de Perl Truth par exemple. D'autres langages ont des concepts légèrement différents de vrai / faux. Sachez ce que votre langage considère comme vrai et faux pour différentes opérations et contrôle de flux pour éviter de nombreux maux de tête plus tard!
Il existe de nombreux algorithmes dans lesquels vous souhaitez traiter quelque chose jusqu'à ce que vous trouviez ce que vous recherchez. D'où la boucle infinie ou la boucle indéfinie. Chaque langage a tendance à avoir son propre idiome pour ces constructions. Voici les boucles infinies courantes en C, qui fonctionnent également pour Perl:
for(;;) { /* loop until break */ }
/* or */
while (1) {
return if (function(arg) > 3);
}
La while True:
forme est courante en Python pour les boucles indéfinies avec un moyen de sortir de la boucle. Apprenez le contrôle de flux Python pour comprendre comment vous sortez des while True
boucles. Contrairement à la plupart des langages, par exemple, Python peut avoir une else
clause sur une boucle. Il y a un exemple dans le dernier lien.