Formalmente, True
é uma constante interna do Python do tipo bool .
Você pode usar operações booleanas em tipos booleanos (no prompt Python interativo, por exemplo) e converter números em tipos booleanos:
>>> 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
E há "pegadinhas" potencialmente com o que você vê e o que o compilador Python vê:
>>> 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 uma dica de como o Python armazena os tipos bool internamente, você pode converter tipos bool em inteiros e True será 1 e False 0:
>>> print True+0
1
>>> print True+1
2
>>> print False+0
0
>>> print False+1
1
Na verdade, o bool
tipo Python é uma subclasse do int
tipo Python :
>>> type(True)
<type 'bool'>
>>> isinstance(True, int)
True
A parte mais importante da sua pergunta é "O que é while True
?" é 'o que é verdadeiro', e um corolário importante: o que é falso?
Primeiro, para cada idioma que você está aprendendo, aprenda o que o idioma considera 'verdadeiro' e 'falsey'. Python considera a verdade ligeiramente diferente da verdade Perl, por exemplo. Outras linguagens têm conceitos ligeiramente diferentes de verdadeiro / falso. Saiba o que sua linguagem considera Verdadeiro ou Falso para diferentes operações e controle de fluxo para evitar muitas dores de cabeça mais tarde!
Existem muitos algoritmos nos quais você deseja processar algo até encontrar o que está procurando. Daí o loop infinito ou loop indefinido. Cada idioma tende a ter seu próprio idioma para essas construções. Aqui estão os loops infinitos C comuns, que também funcionam para Perl:
for(;;) { /* loop until break */ }
/* or */
while (1) {
return if (function(arg) > 3);
}
A while True:
forma é comum em Python para loops indefinidos com alguma forma de quebrar o loop. Aprenda o controle de fluxo do Python para entender como você rompe os while True
loops. Ao contrário da maioria das linguagens, por exemplo, Python pode ter uma else
cláusula em um loop. Há um exemplo no último link.