Formalmente, Trueè una costante incorporata in Python di tipo bool .
È possibile utilizzare operazioni booleane sui tipi bool (ad esempio al prompt interattivo di Python) e convertire i numeri in tipi 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
E ci sono potenzialmente "trucchi" con ciò che vedi e ciò che vede il compilatore 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
Come suggerimento su come Python memorizza i tipi bool internamente, puoi eseguire il cast di tipi bool a numeri interi e True risulterà essere 1 e False 0:
>>> print True+0
1
>>> print True+1
2
>>> print False+0
0
>>> print False+1
1
In effetti, il booltipo Python è una sottoclasse del inttipo Python :
>>> type(True)
<type 'bool'>
>>> isinstance(True, int)
True
La parte più importante della tua domanda è "Che cos'è while True?" è "ciò che è vero" e un importante corollario: cosa è falso?
In primo luogo, per ogni lingua che stai imparando, impara ciò che la lingua considera "veritiera" e "falsa". Python considera Truth in modo leggermente diverso da Perl Truth, ad esempio. Altre lingue hanno concetti leggermente diversi di vero / falso. Impara cosa la tua lingua considera Vero e Falso per diverse operazioni e controllo del flusso per evitare molti mal di testa in seguito!
Ci sono molti algoritmi in cui vuoi elaborare qualcosa finché non trovi quello che stai cercando. Da qui il ciclo infinito o ciclo indefinito. Ogni lingua tende ad avere il proprio idioma per questi costrutti. Ecco i comuni loop infiniti in C, che funzionano anche per Perl:
for(;;) { /* loop until break */ }
/* or */
while (1) {
return if (function(arg) > 3);
}
La while True:forma è comune in Python per cicli indefiniti con qualche modo per uscire dal ciclo. Impara il controllo del flusso Python per capire come superare i while Trueloop. A differenza della maggior parte dei linguaggi, ad esempio, Python può avere una elseclausola su un ciclo. C'è un esempio nell'ultimo collegamento.