Compruebe si la variable es un entero Python

Manav Narula 10 octubre 2023
  1. Utilice el método isinstance() para comprobar si un objeto es un tipo int en Python
  2. Utilice el método int() para comprobar si un objeto es un tipo int en Python
  3. Utilice el método float.is_integer() para comprobar si un objeto es un tipo int en Python
Compruebe si la variable es un entero Python

En Python, tenemos diferentes tipos de datos cuando tratamos con números. Estos son los tipos de datos int, float y complex.

El tipo de datos int se utiliza para representar números enteros. En este tutorial, discutiremos cómo verificar si una variable es int o no.

En Python, normalmente verificamos la función type() para devolver el tipo de objeto. Por ejemplo,

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

Producción :

<class 'int'>
True

Este método puede funcionar normalmente, pero bloquea toda la flexibilidad del polimorfismo. Por ejemplo, si subclasificamos un objeto como int y esperamos que se registre como int, esto podría fallar con la función type().

El siguiente código demuestra esto.

class def_int(int):
    pass


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

Producción :

<class '__main__.def_int'>
False

Utilice el método isinstance() para comprobar si un objeto es un tipo int en Python

Por lo tanto, se recomienda utilizar la función isinstance() sobre la tradicional type(). La función isinstance() se utiliza para comprobar si un objeto pertenece a la subclase especificada. El siguiente fragmento de código explicará cómo podemos usarlo para verificar objetos int.

y = 10


class def_int(int):
    pass


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

Producción :

True
True

Se recomienda utilizar la clase base abstracta numbers.Integral, en lugar de la clase concreta int. De esta forma, podemos comprobar si hay int, long e incluso los métodos definidos por el usuario que pueden actuar como un número entero.

Utilice el método int() para comprobar si un objeto es un tipo int en Python

Podemos crear una lógica simple también para lograr esto usando la función int. Para que un objeto sea int, debe ser igual al valor devuelto por la función int() cuando se le pasa este objeto. El siguiente código demuestra esto.

x = 10.05

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

Producción :

False

Este método devolverá un error de tipo cuando se trabaje con objetos complejos.

Utilice el método float.is_integer() para comprobar si un objeto es un tipo int en Python

Este método funciona solo para objetos float. Comprueba si el valor de un objeto float es un número entero o no. Por ejemplo,

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

Producción :

True
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

Artículo relacionado - Python Integer