Tutoriel Python - Nombres et conversion

Jinku Hu 30 janvier 2023
  1. Type de données numériques Python
  2. Conversion des types de nombres en Python
  3. Nombres fractionnaires en Python
Tutoriel Python - Nombres et conversion

Dans cette section, vous apprendrez le type de données des nombres en programmation Python et les opérations mathématiques que vous pouvez effectuer sur ces nombres. De plus, vous apprendrez comment convertir d’un type de données à un autre.

Type de données numériques Python

Le type de données de nombres dans l’include Python:

  1. Entiers
  2. Numéros à virgule flottante
  3. Numéros complexes

Les nombres entiers n’ont pas de partie fractionnaire/décimale.

Les nombres à virgule flottante contiennent une partie décimale.

Les nombres complexes ont une partie réelle et une partie imaginaire. Les nombres complexes sont de la forme x + yj, où x est la partie réelle et yj est la partie imaginaire.

La fonction type() est utilisée pour obtenir le type de données d’une variable ou plus généralement, d’un objet. La fonction isinstance() est utilisée pour vérifier si la variable appartient à une classe particulière ou non.

x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3 + 3j
print("is", x, "a complex number:", isinstance(x, complex))

Résultat:

type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True

Les nombres entiers peuvent être de n’importe quelle longueur mais les nombres à virgule flottante ne doivent pas dépasser 15 décimales.

Les nombres entiers peuvent aussi être représentés au format binaire (base 2), hexadécimal (base 16) et octal (base 8). Ceci peut être fait en utilisant des préfixes. Consultez le tableau ci-dessous:

Système de nombres Préfixes
Binaire 0b ou 0B
Octal 0o ou 0O
Hexadécimal 0x ou 0X

Exemple:

>>> print(0b110)
6
>>> print(0xFA)
250
>>> print(0o12)
10

Conversion des types de nombres en Python

Conversion de type implicite

Si vous ajoutez un nombre de type float et un autre nombre de type int, le type du résultat sera float. Ici, int est converti en float implicitement.

>>> 2 + 3.0
5.0

Ici, 2 est un entier qui est converti en float implicitement et vous avez 2.0.

Cette conversion de type implicite est aussi appelée coercition.

Conversion de type explicite

Vous pouvez aussi faire une conversion explicite de type de données numériques en utilisant des fonctions comme int(), float(), str(), etc.

>>> x = 8
>>> print("Value of x = ", int(x))
Value of x =  8
>>> print("Converted Value of x = ", float(x))
Converted Value of x = 8.0

Si vous voulez convertir une valeur float en une valeur int alors la partie décimale sera tronquée.

Nombres fractionnaires en Python

Un module nommé fractions est utilisé pour effectuer des opérations qui impliquent des nombres fractionnaires. Le module fractions peut représenter un nombre fractionnaire comme numérateur/dénominateur.

import fractions

print(fractions.Fraction(0.5))
1 / 2

La fonction Fraction du module fractions convertira le nombre décimal en fractions et vous pourrez alors effectuer des opérations mathématiques sur ces fractions:

print(Fraction(0.5) + Fraction(1.5))
print(Fraction(0.5) * Fraction(1.5))
print(Fraction(0.5) / Fraction(1.5))

Résultat:

2
3 / 4
1 / 3
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook