Comprendre les nombres en Python
Python excelle dans le calcul numérique, offrant une variété d’outils et de types de données pour gérer les nombres efficacement. Ce tutoriel explore les concepts fondamentaux des nombres en Python, en se concentrant sur les types de données, les conversions de type et le travail avec les nombres fractionnaires, jetant les bases d’une programmation numérique plus avancée.
Table des matières
Types de données numériques Python
Python prend principalement en charge trois types de données numériques :
int
(Entier) : Représente les nombres entiers (par exemple, 10, -5, 0). Les entiers Python peuvent être arbitrairement grands.float
(Nombre à virgule flottante) : Représente les nombres avec des parties fractionnaires (par exemple, 3,14, -2,5, 1e6). Ils sont stockés dans un format similaire à la notation scientifique.complex
(Complexe) : Représente les nombres complexes avec des parties réelle et imaginaire (par exemple, 2 + 3j). Le format est a + bj, où « a » est la partie réelle et « b » est la partie imaginaire.
Exemple :
integer_var = 10
float_var = 3.14
complex_var = 2 + 3j
print(type(integer_var)) # Sortie : <class 'int'>
print(type(float_var)) # Sortie : <class 'float'>
print(type(complex_var)) # Sortie : <class 'complex'>
Conversion de type numérique Python
Python offre des fonctions intégrées pour une conversion transparente entre les types de nombres :
int()
: Convertit en entier. Pour les nombres à virgule flottante, la partie fractionnaire est tronquée (non arrondie).float()
: Convertit en nombre à virgule flottante.complex()
: Convertit en nombre complexe. Vous pouvez spécifier les parties réelle et imaginaire (par exemple,complex(5, 2)
donne(5+2j)
).
Exemple :
x = 10.5
y = int(x) # y devient 10
z = float(10) # z devient 10.0
w = complex(5, 2) # w devient (5+2j)
print(y, type(y)) # Sortie : 10 <class 'int'>
print(z, type(z)) # Sortie : 10.0 <class 'float'>
print(w, type(w)) # Sortie : (5+2j) <class 'complex'>
Tenter de convertir une chaîne non numérique (par exemple, int("hello")
) lèvera une erreur ValueError
.
Travailler avec les nombres fractionnaires (flottants)
Les nombres fractionnaires sont gérés à l’aide du type de données float
. Les nombres à virgule flottante de Python respectent la norme IEEE 754, ce qui signifie qu’il existe des limitations de précision inhérentes. Cela peut entraîner de légères inexactitudes dans les calculs, en particulier avec des nombres très grands ou très petits.
Exemple :
pi = 3.14159
radius = 5.0
area = pi * radius * radius
print(f"L'aire du cercle est : {area}")
Précision et limitations
Comprendre la précision des nombres à virgule flottante est essentiel. Bien que généralement suffisant, pour les applications nécessitant une précision absolue (par exemple, les calculs financiers), envisagez d’utiliser le module decimal
, qui fournit une arithmétique décimale à précision arbitraire.
Exploration plus approfondie : bibliothèques numériques
Pour le calcul numérique avancé, Python offre des bibliothèques puissantes comme NumPy et SciPy. Ces bibliothèques fournissent des fonctions et des structures de données optimisées pour gérer les grands ensembles de données et effectuer efficacement des opérations mathématiques complexes.