Formalmente, True
es una constante incorporada de Python de tipo bool .
Puede usar operaciones booleanas en tipos bool (en el indicador interactivo de Python, por ejemplo) y convertir números en tipos bool:
>>> 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
Y hay potencialmente "problemas" con lo que ves y lo que ve el compilador de 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
Como una pista de cómo Python almacena los tipos bool internamente, puede convertir los tipos bool en enteros y True resultará ser 1 y False 0:
>>> print True+0
1
>>> print True+1
2
>>> print False+0
0
>>> print False+1
1
De hecho, el bool
tipo de Python es una subclase del int
tipo de Python :
>>> type(True)
<type 'bool'>
>>> isinstance(True, int)
True
La parte más importante de su pregunta es "¿Qué es while True
?" es 'lo que es verdadero', y un corolario importante: ¿qué es falso?
Primero, para cada idioma que esté aprendiendo, aprenda lo que el idioma considera "verdadero" y "falso". Python considera Truth de forma ligeramente diferente a Perl Truth, por ejemplo. Otros lenguajes tienen conceptos ligeramente diferentes de verdadero / falso. ¡Sepa lo que su lenguaje considera verdadero y falso para diferentes operaciones y control de flujo para evitar muchos dolores de cabeza más adelante!
Hay muchos algoritmos en los que desea procesar algo hasta encontrar lo que busca. De ahí el bucle infinito o bucle indefinido. Cada idioma tiende a tener su propio idioma para estas construcciones. Aquí hay bucles infinitos de C comunes, que también funcionan para Perl:
for(;;) { /* loop until break */ }
/* or */
while (1) {
return if (function(arg) > 3);
}
La while True:
forma es común en Python para bucles indefinidos con alguna forma de salir del bucle. Aprenda el control de flujo de Python para comprender cómo se sale de los while True
bucles. A diferencia de la mayoría de los lenguajes, por ejemplo, Python puede tener una else
cláusula en un bucle. Hay un ejemplo en el último enlace.