ho incontrato un po 'di codice che legge:C'è qualche differenza tra `se bool (x)` e `se x` in Python?
if bool(x):
doSomething
Penso che la seguente avrebbe fatto lo stesso lavoro:
if x:
doSomething
The reference dice che valuta la suite se l'espressione di prova
è trovato per essere vero
Il riferimento dice di espressioni booleane:
Nel contesto delle operazioni booleane, ed anche quando le espressioni sono utilizzate da rendiconto di controllo vengono utilizzati da dichiarazioni di flusso di controllo, i seguenti valori sono interpretati come falsa: False , Nessuno, zero numerico di tutti i tipi e stringhe vuote e contenitori ... Tutti gli altri valori sono interpretati come veri.
La reference dice della funzione bool()
:
convertire un valore per un valore booleano, utilizzando la procedura di prova verità di serie
lo sono anche i due sopra identici o c'è qualche extra sottigliezza ad esso?
Basta seguire il primo collegamento nei documenti su se e avrai la tua risposta. – phant0m
So cosa dice il riferimento. Ecco perché l'ho citato. Come dice il riferimento, non è una specifica, e sto chiedendo se la mia lettura dei documenti è corretta. – Joe
No, ti collega a _ _nonzero() _ _ – phant0m