Controllare se una variabile è un intero Python
-
Usa il metodo
isinstance()
per verificare se un oggetto è un tipoint
in Python -
Usa il metodo
int()
per verificare se un oggetto è un tipoint
in Python -
Usa il metodo
float.is_integer()
per verificare se un oggetto è un tipoint
in 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
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