La differenza tra != e non è un operatore in Python
In questo articolo vedremo != Operatori (non uguali). In Pitone != è definito come non uguale a operatore. Ritorna VERO se gli operandi su entrambi i lati non sono uguali tra loro e restituisce Falso se sono uguali. Mentre non è l'operatore controlla se id() di due oggetti è uguale o meno. Se è lo stesso, ritorna Falso e se non è lo stesso, ritorna VERO. E non è L'operatore restituisce True se gli operandi su entrambi i lati non sono uguali tra loro e restituisce false se sono uguali.
Cerchiamo di comprendere i concetti uno per uno:
Esempio 1:
Python3
a> => 10> b> => 10> > print> (a> is> not> b)> print> (> id> (a),> id> (b))> > c> => 'Python'> d> => 'Python'> print> (c> is> not> d)> print> (> id> (c),> id> (d))> > e> => [> 1> ,> 2> ,> 3> ,> 4> ]> f> => [> 1> ,> 2> ,> 3> ,> 4> ]> print> (e> is> not> f)> print> (> id> (e),> id> (f))> |
Produzione:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600
Spiegazione:
- Innanzitutto con i dati interi l'output era falso perché entrambe le variabili a, b si riferiscono agli stessi dati 10.
- In secondo luogo con i dati stringa l'output era falso perché entrambe le variabili c, d si riferiscono agli stessi dati Python.
- Terzo con i dati dell'elenco l'output era vero perché le variabili e, f hanno indirizzi di memoria diversi (anche se entrambe le variabili hanno gli stessi dati)
Esempio 2:
!= è definito come non uguale a operatore. Ritorna VERO se gli operandi su entrambi i lati non sono uguali tra loro e restituisce Falso se sono uguali.
Python3
# Python3 code to> # illustrate the> # difference between> # != and is operator> > a> => 10> b> => 10> print> (a !> => b)> print> (> id> (a),> id> (b))> > c> => 'Python'> d> => 'Python'> print> (c !> => d)> print> (> id> (c),> id> (d))> > e> => [> 1> ,> 2> ,> 3> ,> 4> ]> f> => [> 1> ,> 2> ,> 3> ,> 4> ]> print> (e !> => f)> print> (> id> (e),> id> (f))> |
Produzione:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064
Esempio 3:
IL != confronta il valore o l'uguaglianza di due oggetti, mentre l'operatore Python non è L'operatore controlla se due variabili puntano allo stesso oggetto in memoria.
Python3
# Python3 code to> # illustrate the> # difference between> # != and is not operator> # [] is an empty list> list1> => []> list2> => []> list3> => list1> > #First if> if> (list1 !> => list2):> > print> (> ' First if Condition True'> )> else> :> > print> (> 'First else Condition False'> )> > #Second if> if> (list1> is> not> list2):> > print> (> 'Second if Condition True'> )> else> :> > print> (> 'Second else Condition False'> )> > #Third if> if> (list1> is> not> list3):> > print> (> 'Third if Condition True'> )> else> :> > print> (> 'Third else Condition False'> )> > list3> => list3> +> list2> > #Fourth if> if> (list1> is> not> list3):> > print> (> 'Fourth if Condition True'> )> else> :> > print> (> 'Fourth else Condition False'> )> |
Produzione:
First else Condition False Second if Condition True Third else Condition False Fourth if Condition True
Spiegazione:
- L'uscita del prima se la condizione è falsa poiché sia list1 che list2 sono elenchi vuoti. Secondo se la condizione mostra True perché due elenchi vuoti si trovano in posizioni di memoria diverse. Quindi lista1 e lista2 si riferiscono a oggetti diversi. Possiamo verificarlo con la funzione id() in Python che restituisce l'identità di un oggetto.
- L'uscita del terzo se la condizione è falsa poiché sia list1 che list3 puntano allo stesso oggetto.
- L'uscita del quarto se la condizione è Vera perché la concatenazione di due liste produce sempre una nuova lista.