Come utilizzare Python Operatori non uguali e uguali

Pubblicato: 2022-01-29

In Python, puoi usare gli operatori non uguale a e uguale a per verificare se due oggetti Python hanno lo stesso valore. Questo tutorial ti insegnerà come utilizzare questi operatori con molto codice di esempio.

In questo tutorial imparerai:

  • la sintassi dell'operatore non uguale ( != ) e i casi d'uso,
  • la sintassi dell'operatore uguale ( == ) con esempi, e
  • l'uso di is e is not operatori per verificare l'identità di due oggetti Python qualsiasi.

Iniziamo.

Sintassi dell'operatore Python non uguale

Per due oggetti Python qualsiasi obj1 e obj2 , la sintassi generale per utilizzare l'operatore non uguale è:

 <obj1> != <obj2>
  • restituisce True quando i valori di obj1 e obj2 non sono uguali e
  • restituisce False altrimenti.

Nota : come accennato in precedenza, obj1 e obj2 possono essere numeri interi, numeri in virgola mobile, stringhe, elenchi e così via.

Esempi di codice operatore Python non uguale

In questa sezione, codifichiamo alcuni esempi per comprendere meglio l'operatore non uguale .

Utilizzo dell'operatore Python Not Equal per il confronto

Ecco il nostro primo esempio.

 num1 = 27 num2 = 3*9 num1 != num2 # Output: False

Puoi eseguire gli esempi di codice sull'IDE Python di Geekflare, direttamente dal tuo browser. Oppure potresti scegliere di eseguire sul tuo computer locale.

Poiché num1 = 27 e anche num2 27 ( 3*9 = 27 ), i valori di num1 e num2 sono uguali. Quindi l'operatore != restituisce False .

Facciamo un altro esempio.

Nel codice seguente, num1 è impostato su 7. E num2 è impostato sulla stringa 7. Poiché sono di tipi di dati diversi, l'operatore non uguale restituisce True .

 num1 = 7 num2 = "7" num1 != num2 # Output: True

Trasmetti la stringa a un numero intero, come mostrato:

 num1 = 7 num2 = int("7") num1 != num2 # Output: False

In questo caso, puoi vedere che il risultato restituito è False , poiché num1 e num2 ora sono uguali all'intero 7.

Puoi anche usare l'operatore non uguale con raccolte Python come liste, tuple e insiemi.

Nota : per raccolte di dati come elenchi, l'operatore non uguale funziona controllando i valori dei singoli elementi. Ad esempio, due liste list1 e list2 —ognuna di lunghezza n —sono uguali solo se list1[i] == list2[i] for i in {0,1,2,3,..n-1} .

Ecco un esempio:

 list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True

Nell'esempio precedente, list1 e list2 differiscono solo per un elemento. E l'operatore non uguale != restituisce True come previsto.

Utilizzo dell'operatore non uguale a Python nei condizionali

Utilizzerai spesso l'operatore non uguale a come parte dei condizionali Python.

Ad esempio, il frammento di codice di seguito mostra come puoi verificare se un numero è dispari o meno.

Un numero che non è equamente divisibile per 2 è dispari . E questo si riduce alla condizione num%2 != 0 .

 num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.

Puoi anche utilizzare i condizionali nelle comprensioni degli elenchi quando desideri conservare solo gli elementi dell'elenco che soddisfano una condizione specifica. Nell'esempio seguente, odd_10 è l'elenco di tutti i numeri dispari inferiori a 10.

 odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]

E questo completa la nostra discussione sull'operatore non uguale ( != ).

Come avrete ormai intuito l'operatore uguale a produce l'effetto opposto dell'operatore diverso da .

Imparerai di più a riguardo nella prossima sezione.

Sintassi dell'operatore uguale di Python

Ecco la sintassi per usare l'operatore uguale a Python:

 <obj1> == <obj2>  #where <obj1> and <obj2> are valid Python objects
  • restituisce True quando i valori di obj1 e obj2 sono uguali, e
  • restituisce False altrimenti.

Esempi di codice operatore Python uguale

L'operatore uguale ( == ) può essere utilizzato in modo molto simile all'operatore non uguale .

Codifichiamo i seguenti esempi:

  • per verificare se due stringhe sono uguali,
  • per verificare se un numero è pari, e
  • utilizzare i condizionali nella comprensione degli elenchi

Utilizzo dell'operatore Python Not Equal per il confronto

Nel frammento di codice seguente, str1 e str2 sono uguali in termini di valore. Quindi l'operatore uguale ( == ) restituisce True .

 str1 = "coding" str2 = "coding" str1 == str2 # Output: True
python-uguale-operatore
Python Uguale Operatore

Usiamo ora l'operatore uguale in un'espressione condizionale.

Nota : un numero divisibile per 2 è pari . E nel codice, questo si riduce alla condizione num%2 == 0

 num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.

Costruiamo ora su questo esempio, usa la comprensione dell'elenco di Python per ottenere tutti i numeri pari inferiori a 10.

 even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]

Nell'esempio sopra,

  • range(10) restituisce un oggetto range che può essere eseguito in loop per ottenere tutti i numeri interi da 0 a 9.
  • La condizione num%2 == 0 è True solo per i numeri pari.
  • Quindi even_10 è l'elenco di tutti i numeri pari inferiori a 10.

Finora hai imparato a verificare l' uguaglianza usando gli operatori non uguali ( != ) e uguali ( == ).

Nella prossima sezione imparerai come verificare l' identità di due oggetti. Verificherai se due oggetti Python sono identici .

Come usare Python è e non è Operatori

Se sei un principiante nella programmazione Python, è possibile che tu sia confuso tra gli operatori == e is . Chiariamolo in questa sezione.

Nella sezione precedente, abbiamo avuto un esempio in cui str1 e str2 dove equal e l'operatore == hanno restituito True .

Ora esegui il seguente frammento di codice.

 str1 = "coding" str2 = "coding" str1 is str2 # Output: False

Puoi vedere che str1 is str2 restituisce False .

Facciamo un passo indietro e capiamo cosa is l'operatore di Python.

L'operatore is opera su due oggetti Python qualsiasi.
E restituisce True solo se i due oggetti sono identici , ovvero si riferiscono allo stesso oggetto in memoria.

Anche se str1 è uguale a str2 , str1 non è str2 poiché puntano a due diversi oggetti in memoria. E quindi hanno identità diverse.

python-è-operatore
== e is NON sono gli stessi

In Python, puoi usare la funzione id() per ottenere l'identità dell'oggetto.

Esegui la seguente cella di codice per ottenere le identità di str1 e str2 .

 id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344

Come puoi vedere, str1 e str2 hanno identità diverse. E str1 is str2 restituisce False come previsto.

Mettendolo insieme,

 <obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True

Verifichiamo rapidamente questo, come mostrato:

 str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True

Intuitivamente, l'operatore is not fa l'opposto dell'operatore is .

L'operatore is not opera su due oggetti Python qualsiasi.
E restituisce False solo se i due oggetti sono identici , ovvero si riferiscono allo stesso oggetto in memoria. In caso contrario, restituisce True .

Negli esempi di codice precedenti, prova a sostituire is with is not e controlla i risultati.

Conclusione

Spero che questo tutorial ti sia stato utile.

Per riassumere, hai imparato:

  • come utilizzare gli operatori uguale ( == ) e non uguale ( != ) per verificare se due oggetti Python hanno lo stesso valore,
  • la differenza tra uguaglianza e identità degli oggetti Python, e
  • come Python is e is not operatori aiutano a verificare se due oggetti Python sono identici.

Scopri come calcolare la differenza di fuso orario o creare un gioco di serpenti in Python qui.

Ci vediamo tutti al prossimo tutorial. Fino ad allora, buon apprendimento e programmazione!