Verifique se a variável é Python inteiro

Manav Narula 10 outubro 2023
  1. Use o método isinstance() para verificar se um objeto é um tipo int em Python
  2. Use o método int() para verificar se um objeto é um tipo int em Python
  3. Use o método float.is_integer() para verificar se um objeto é um tipo int em Python
Verifique se a variável é Python inteiro

Em Python, temos diferentes tipos de dados quando lidamos com números. Estes são os tipos de dados int, float e complex.

O tipo de dados int é usado para representar inteiros. Neste tutorial, discutiremos como verificar se uma variável é int ou não.

Em Python, geralmente verificamos a função type() para retornar o tipo do objeto. Por exemplo,

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

Resultado:

<class 'int'>
True

Este método pode funcionar normalmente, mas bloqueia toda a flexibilidade do polimorfismo. Por exemplo, se criarmos uma subclasse de um objeto como int e esperarmos que ele seja registrado como int, isso pode falhar com a função type().

O código a seguir demonstra isso.

class def_int(int):
    pass


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

Resultado:

<class '__main__.def_int'>
False

Use o método isinstance() para verificar se um objeto é um tipo int em Python

Portanto, é encorajado a usar a função isinstance() em vez do tradicional type(). A função isinstance() é usada para verificar se um objeto pertence à subclasse especificada. O seguinte trecho de código irá explicar como podemos usá-lo para verificar se há objetos int.

y = 10


class def_int(int):
    pass


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

Resultado:

True
True

Recomenda-se usar a classe base abstrata numbers.Integral, em vez da classe int concreta. Desta forma, podemos verificar se há int, long e até mesmo os métodos definidos pelo usuário que podem atuar como um inteiro.

Use o método int() para verificar se um objeto é um tipo int em Python

Podemos criar uma lógica simples também para conseguir isso usando a função int. Para um objeto ser int, ele deve ser igual ao valor retornado pela função int() quando este objeto é passado para ele. O código a seguir demonstra isso.

x = 10.05

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

Resultado:

False

Este método retornará um erro de tipo quando trabalhado com objetos complexos.

Use o método float.is_integer() para verificar se um objeto é um tipo int em Python

Este método funciona apenas para objetos float. Ele verifica se o valor em um objeto float é um inteiro ou não. Por exemplo,

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

Resultado:

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

Artigo relacionado - Python Integer