English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Avant d'apprendre les conversions de type en Python, vous devriez comprendre Types de données Python.
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.
Conversion de type implicite
Conversion de type explicite
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.
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.
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".
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.
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.
Type conversion is the conversion of an object from one data type to another.
Implicit type conversion is automatically executed by the Python interpreter.
Python avoids data loss in implicit type conversion.
Explicit type conversion, also known as type casting, is when the user uses predefined functions to convert the data type of an object.
Data loss may occur when we force an object to a specific data type during type conversion.