Senza categoria

Come utilizzare Python Operatori non uguali e uguali

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 not is 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 winadmin.it, direttamente dal tuo browser. Oppure potresti scegliere di eseguire sul tuo computer locale.

Poiché num1 = 27 e anche num2 restituisce 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, ciascuna di lunghezza n, sono uguali solo se list1[i] == lista2[i] per 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 usare i condizionali in elencare le comprensioni quando si desidera conservare solo gli elementi dell’elenco che soddisfano una condizione specifica. Nell’esempio seguente, dispari_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

Nello snippet 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

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 pari_10 è l’elenco di tutti i numeri pari inferiori a 10.

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

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 è str2 restituisce False.

Facciamo un passo indietro e capiamo cosa fa 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.

== e is NON sono gli stessi

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

▶ Eseguire 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 è 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 è e non è gli 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!🎉