Eventuali duplicati:
Is False == 0 and True == 1 in Python an implementation detail or is it guaranteed by the language?È garantito che False "è 0" e True "è 1"?
ho notato oggi che le seguenti opere utilizzando Python 2.6 (CPython) ...
>>> a=[100,200]
>>> a[True]
200
>>> a[False]
100
È questo il portatile per altre implementazioni python (ad es. è True
/False
garantito per ereditare da int? È True
g garantito di valutare a 1 invece di qualche altro numero diverso da zero?) C'è qualche situazione in cui ciò sarebbe utile? Sembra che potrebbe essere usato come un'altra forma di un operatore ternario, ma non so quanto si guadagna là ...
(non è una risposta, ma potresti trovarlo interessante: in Python 2.6 e prima di Vero e Falso ci sono solo variabili quindi ... "Vero, Falso =" ciao "," mondo "' ... ma hanno * riservato * stato in Python 3.x) –
Per quanto ne so, True e False sono etichette per 1 e 0. 1 == True e 0 == False. Pertanto, restituirebbe gli articoli 0 e 1 nell'elenco –
@gwynhowell: no, 'True' e' False' sono oggetti a sé stanti, di tipo 'bool'. –