Vérifier si la variable est un entier Python

Manav Narula 10 octobre 2023
  1. Utilisez la méthode isinstance() pour vérifier si un objet est un type int en Python
  2. Utilisez la méthode int() pour vérifier si un objet est un type int en Python
  3. Utilisez la méthode float.is_integer() pour vérifier si un objet est un type int en Python
Vérifier si la variable est un entier Python

En Python, nous avons différents types de données lorsque nous traitons des nombres. Ce sont les types de données int, float et complex.

Le type de données int est utilisé pour représenter des entiers. Dans ce tutoriel, nous verrons comment vérifier si une variable est int ou non.

En Python, on vérifie généralement la fonction type() pour renvoyer le type de l’objet. Par exemple,

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

Production:

<class 'int'>
True

Cette méthode peut fonctionner normalement, mais elle bloque toute flexibilité du polymorphisme. Par exemple, si nous sous-classons un objet comme int et attendons qu’il s’inscrive comme int, cela pourrait échouer avec la fonction type().

Le code suivant illustre cela.

class def_int(int):
    pass


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

Production:

<class '__main__.def_int'>
False

Utilisez la méthode isinstance() pour vérifier si un objet est un type int en Python

Il est donc encouragé d’utiliser la fonction isinstance() sur le traditionnel type(). La fonction isinstance() permet de vérifier si un objet appartient à la sous-classe spécifiée. L’extrait de code suivant expliquera comment nous pouvons l’utiliser pour rechercher des objets int.

y = 10


class def_int(int):
    pass


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

Production:

True
True

Il est recommandé d’utiliser la classe de base abstraite numbers.Integral, au lieu de la classe concrète int. De cette façon, nous pouvons vérifier int, long, et même les méthodes définies par l’utilisateur qui peuvent agir comme un entier.

Utilisez la méthode int() pour vérifier si un objet est un type int en Python

Nous pouvons également créer une logique simple pour y parvenir en utilisant la fonction int. Pour qu’un objet soit int, il doit être égal à la valeur retournée par la fonction int() lorsque cet objet lui est passé. Le code suivant illustre cela.

x = 10.05

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

Production:

False

Cette méthode renverra une erreur de type lorsqu’elle sera utilisée avec des objets complexes.

Utilisez la méthode float.is_integer() pour vérifier si un objet est un type int en Python

Cette méthode ne fonctionne que pour les objets float. Il vérifie si la valeur d’un objet flottant est un entier ou non. Par exemple,

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

Production:

True
Auteur: 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

Article connexe - Python Integer