Qual è la spiegazione di questo comportamento in Python?Python "e" operatore con ints
a = 10
b = 20
a and b # 20
b and a # 10
a and b
viene valutata a 20, mentre b and a
viene valutata a 10. Sono interi positivi equivalente a Vero? Perché valuta il secondo valore? Perché è il secondo?
Con "prima" si fa significa "secondo"? –
Non penso che sia "prendere" il primo valore. Penso che stia valutando il secondo valore nell'espressione. Qualcuno può indicarmi una risorsa che spieghi questo? (Grazie Dave!) –
Questo non è giusto. '[]' è 'False', per esempio. La valutazione viene effettuata chiamando '__nonzero__' in Python 2 o' __bool__' in Python 3. – Dougal