English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Python

Contrôle de flux Python

Fonctions en Python

Types de données en Python

Opérations sur les fichiers Python

Objets et classes Python

Dates et heures Python

Connaissances avancées Python

Manuel de référence Python

Conversion de types en Python

Avant d'apprendre les conversions de type en Python, vous devriez comprendre  Types de données Python.

Conversion de type

Le processus de conversion de la valeur d'un type de données (entier, chaîne, flottant, etc.) en un autre type de données est appelé conversion de type. Python possède deux types de conversions de type.

  1. Conversion de type implicite

  2. Conversion de type explicite

Conversion de type implicite

Dans la conversion de type implicite, Python convertit automatiquement un type de données en un autre sans l'intervention de l'utilisateur.

Laissez-nous examiner un exemple où Python favorise la conversion de types de données inférieurs (entiers) en types de données supérieurs (flottants) pour éviter la perte de données.

Example1Conversion d'entier en type de données flottant

num_int = 123
num_flo = 1.23
num_new = num_int + num_flo
print("num_int的数据类型:",type(num_int))
print("Le type de données de num_flo :", type(num_flo))
print("La valeur de num_new :", num_new)
print("Le type de données de num_new :", type(num_new))

When we run the above program, the output will be:

Data type of num_int:  <class 'int'>
Le type de données de num_flo : <class 'float'>
La valeur de num_new: 124.23
Le type de données de num_new : <class 'float'>

in the above program

  • Nous ajoutons deux variablesnum_intandAjout de num_flo, et stockons la valeur dans la variableDans num_new.

  • Nous regardons séparément les types de données de tous les trois objets.

  • Dans la sortie, nous pouvons voirnum_intson type de données est integer,num_floson type de données est float.

  • De plus, nous pouvons voirnum_newAvec le type de données float, car Python convertit toujours le type de données plus petit en type de données plus grand pour éviter la perte de données.

Maintenant, essayons d'ajouter une chaîne et un entier, et regardons comment Python le traite.

Example2Addition de types de données de chaînes (type de données plus élevé) et d'entiers (type de données plus bas).

num_int = 123
num_str = "456"
print("num_int的数据类型:",type(num_int))
print("Le type de données de num_str :", type(num_str))
print(num_int+num_str)

When we run the above program, the output will be:

Data type of num_int:  <class 'int'>
Le type de données de num_str : <class 'str'>
Traceback (appel le plus récent en dernier): 
  Fichier "python", ligne 7, dans <module> 
TypeError: operandes non prises en charge pour +: 'int' et 'str'

in the above program

  • Nous deux variablesnum_int etnum_strAddition.

  • Comme nous pouvons le voir à la sortie, nous avons obtenu TypeError. Dans ce cas, Python ne peut pas utiliser la conversion implicite.

  • Cependant, Python propose une solution pour ce type de situation, appelée "Conversion explicite".

Conversion de type explicite

Dans "Conversion de type explicite”, l'utilisateur convertit le type de données de l'objet en le type de données souhaité. Nous utilisons des conversions de type explicites telles que les fonctions prédéfinies int(), float(), str() et autres.

Ce type de conversion est également appelé conversion de type, car l'utilisateur force la conversion (changement) du type de données de l'objet.

Grammaire :

<required_datatype>(expression)

Type conversion can be completed by assigning the required data type function to the expression.

Example3:Add strings and integers using explicit conversion

num_int = 123
num_str = "456"
print("num_int的数据类型:",type(num_int))
print("类型转换之前num_str的数据类型:",type(num_str))
num_str = int(num_str)
print("类型转换后的num_str的数据类型:",type(num_str))
num_sum = num_int + num_str
print("num_int与num_str的和:",num_sum)
print("sum的数据类型:",type(num_sum))

When we run the above program, the output will be:

Data type of num_int:  <class 'int'>
Data type of num_str before type conversion:  <class 'str'>
Data type of num_str after type conversion:  <class 'int'>
Sum of num_int and num_str: 579
sum data type:  <class 'int'>

in the above program

  • Wenum_strandnum_intadd variables.

  • We use the int() function tonum_strfrom string (high) to integer (low) type to perform addition.

  • Convertnum_strAfter converting to integers, Python can add these two variables.

  • Finally, we getnum_sumValue and its data type are integers.

Points to remember

  1. Type conversion is the conversion of an object from one data type to another.

  2. Implicit type conversion is automatically executed by the Python interpreter.

  3. Python avoids data loss in implicit type conversion.

  4. Explicit type conversion, also known as type casting, is when the user uses predefined functions to convert the data type of an object.

  5. Data loss may occur when we force an object to a specific data type during type conversion.