Vérifiez si la variable est un nombre

Online Coding Courses for Kids

introduction

Dans cet article, nous allons passer en revue quelques exemples sur la façon de vérifier si une variable est un nombre en Python.

Python est typé dynamiquement. Il n’est pas nécessaire de déclarer un type de variable lors de son instanciation – l’interpréteur en déduit le type au moment de l’exécution:

variable = 4
another_variable = 'hello'

De plus, une variable peut être réaffectée à un nouveau type à tout moment:

# Assign a numeric value
variable = 4

# Reassign a string value
variable = 'four'

Cette approche, tout en présentant des avantages, nous présente également quelques problèmes. À savoir, lorsque nous recevons une variable, nous ne savons généralement pas de quel type il s’agit. Si nous attendons un numéro, mais que nous recevons variable, nous voudrons vérifier s’il s’agit d’un nombre avant de travailler avec.

Utilisation de la fonction type ()

le type() function en Python renvoie le type de l’argument que nous lui passons, c’est donc une fonction pratique à cet effet:

myNumber = 1
print(type(myNumber))

myFloat = 1.0
print(type(myFloat))

myString = 's'
print(type(myString))

Cela se traduit par:




Ainsi, un moyen de vérifier le type est:

myVariable = input('Enter a number')
if type(myVariable) == int or type(myVariable) == float:
    # Do something
else:
    print('The variable is not a number')

Ici, on vérifie si le type de variable, saisi par l’utilisateur est un int ou un float, poursuivez le programme si tel est le cas. Sinon, nous informons l’utilisateur qu’il a saisi une variable non numérique. Veuillez garder à l’esprit que si vous comparez à plusieurs types, tels que int ou float, toi devoir Utilisez le type() fonctionner les deux fois.

Si nous venons de dire if type(var) == int or float, ce qui semble bien, un problème se poserait:

myVariable = 'A string'
if type(myVariable) == int or float:
    print('The variable a number')
else:
    print('The variable is not a number')

Ceci, quelle que soit l’entrée, renvoie:

The variable is a number

C’est parce que Python vérifie valeurs de vérité des déclarations. Les variables en Python peuvent être évaluées comme True à l’exception de False, None, 0 et des conteneurs vides comme [], {}, set(), (), '' ou "".

D’où quand on écrit or float dans notre if condition, cela équivaut à écrire or True qui sera toujours évalué à True.

les nombres.

Un bon moyen de vérifier si une variable est un nombre est le numbers module. Vous pouvez vérifier si la variable est une instance Number classe, avec le isinstance() fonction:

import numbers

variable = 5
print(isinstance(5, numbers.Number))

Cela se traduira par:

True

Remarque: Cette approche peut se comporter de manière inattendue avec des types numériques en dehors du cœur de Python. Certains cadres peuvent avoir desNumber implémentation numérique, auquel cas cette approche retournera à tort False.

Utilisation d’un bloc try-except

Une autre méthode pour vérifier si une variable est un nombre utilise un bloc try-except. Dans le bloc try, nous convertissons la variable donnée en un int ou float. Exécution réussie du try block signifie qu’une variable est un nombre, c’est-à-dire soit int ou float:

myVariable = 1
try:
    tmp = int(myVariable)
    print('The variable a number')
except:
    print('The variable is not a number')

Cela fonctionne pour les deux int et float parce que vous pouvez lancer un int à float et un float à un int.

Si vous souhaitez uniquement vérifier si une variable est l’une de celles-ci, vous devez utiliser le type() fonction.

Conclusion

Python est un langage typé dynamiquement, ce qui signifie que nous pourrions recevoir un type de données différent de celui que nous attendons.

Dans les cas où nous voudrions appliquer des types de données, il vaut la peine de vérifier si une variable est du type souhaité. Dans cet article, nous avons couvert trois façons de vérifier si une variable est un nombre en Python.


Close Menu