Controllare se una variabile è un intero Python

Manav Narula 30 gennaio 2023
  1. Usa il metodo isinstance() per verificare se un oggetto è un tipo int in Python
  2. Usa il metodo int() per verificare se un oggetto è un tipo int in Python
  3. Usa il metodo float.is_integer() per verificare se un oggetto è un tipo int in Python
Controllare se una variabile è un intero Python

In Python, abbiamo diversi tipi di dati quando ci occupiamo di numeri. Questi sono i tipi di dati int, float e complex.

Il tipo di dati int viene utilizzato per rappresentare numeri interi. In questo tutorial, discuteremo come controllare se una variabile è int o meno.

In Python, di solito controlliamo la funzione type() per restituire il tipo dell’oggetto. Per esempio,

x = 10
print(type(x))
print(type(x) == int)

Produzione:

<class 'int'>
True

Questo metodo può funzionare normalmente, ma blocca tutta la flessibilità del polimorfismo. Ad esempio, se sottoclassiamo un oggetto come int e ci aspettiamo che venga registrato come int, questo potrebbe fallire con la funzione type().

Il codice seguente lo dimostra.

class def_int(int):
    pass


x = def_int(0)
print(type(x))
print(type(x) == int)

Produzione:

<class '__main__.def_int'>
False

Usa il metodo isinstance() per verificare se un oggetto è un tipo int in Python

È quindi incoraggiato l’uso della funzione isinstance() rispetto al tradizionale type(). La funzione isinstance() viene utilizzata per verificare se un oggetto appartiene alla sottoclasse specificata. Il seguente frammento di codice spiegherà come possiamo usarlo per controllare gli oggetti int.

y = 10


class def_int(int):
    pass


x = def_int(0)
print(isinstance(y, int))
print(isinstance(x, int))

Produzione:

True
True

Si consiglia di utilizzare la classe base astratta numbers.Integral, invece della classe concreta int. In questo modo, possiamo controllare i metodi int, long e anche definiti dall’utente che possono agire come un numero intero.

Usa il metodo int() per verificare se un oggetto è un tipo int in Python

Possiamo creare una logica semplice anche per ottenere questo risultato utilizzando la funzione int. Affinché un oggetto sia int, dovrebbe essere uguale al valore restituito dalla funzione int() quando l’oggetto gli viene passato. Il codice seguente lo dimostra.

x = 10.05

if int(x) == x:
    print("True")
else:
    print("False")

Produzione:

False

Questo metodo restituirà un errore di tipo quando si lavora con oggetti complessi.

Usa il metodo float.is_integer() per verificare se un oggetto è un tipo int in Python

Questo metodo funziona solo per gli oggetti float. Controlla se il valore in un oggetto float è un numero intero o meno. Per esempio,

x = 10.0
print(float.is_integer(x))

Produzione:

True
Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - Python Integer