Maison  >  Article  >  développement back-end  >  Résoudre l'erreur Python : TypeError : type(s) d'opérande non pris en charge pour + : 'str' et 'int'

Résoudre l'erreur Python : TypeError : type(s) d'opérande non pris en charge pour + : 'str' et 'int'

WBOY
WBOYoriginal
2023-08-25 20:33:0735734parcourir

解决Python报错:TypeError: unsupported operand type(s) for +: 'str' and 'int'

Solution à l'erreur Python : TypeError : type(s) d'opérande non pris en charge pour + : 'str' et 'int'

Lors de l'écriture de programmes en Python, vous rencontrez souvent diverses erreurs. L'une des erreurs courantes est "TypeError : type(s) d'opérande non pris en charge pour + : 'str' et 'int'". Cette erreur est généralement provoquée par des opérations incorrectes entre les types de chaîne et les types entiers.

La raison de cette erreur est qu'en Python, les chaînes (str) et les entiers (int) sont des types de données différents et leurs opérations ne peuvent pas être mélangées. Lorsque nous essayons d'ajouter une chaîne et un entier, Python génère une erreur de type, indiquant que les opérations entre les types chaîne et entier ne sont pas prises en charge.

Pour mieux comprendre cette erreur, regardons un exemple de code :

name = "Alice"
age = 25
message = "My name is " + name + " and I am " + age + " years old."
print(message)

Lorsque vous exécutez ce code, l'erreur "TypeError : type(s) d'opérande non pris en charge pour + : 'str' et 'int'" apparaîtra.

Pour résoudre cette erreur, nous devons convertir la variable de type entier en type chaîne, puis effectuer l'opération d'addition. En Python, il existe plusieurs façons de convertir un entier en chaîne. Voici quelques méthodes couramment utilisées :

  1. Utilisez la fonction str() pour la conversion de type
name = "Alice"
age = 25
message = "My name is " + name + " and I am " + str(age) + " years old."
print(message)

Ce code convertit la variable de type entier age à l'aide de la fonction str() et la convertit en chaîne. Ensuite, la chaîne est ajoutée à d’autres chaînes et finalement le résultat correct est obtenu.

  1. Utilisez la méthode format() pour le formatage
name = "Alice"
age = 25
message = "My name is {} and I am {} years old.".format(name, age)
print(message)

L'utilisation de la méthode format() peut effectuer plus facilement des opérations de formatage de chaîne. Dans cet exemple, nous utilisons {} comme espace réservé, puis transmettons les variables name et age dans la méthode format(), qui remplacera l'espace réservé afin d'obtenir la chaîne finale.

  1. Formatage avec f-string (Python 3.6 et supérieur)
name = "Alice"
age = 25
message = f"My name is {name} and I am {age} years old."
print(message)

f-string est une nouvelle méthode de formatage de chaîne introduite dans Python 3.6 et supérieur. Dans la chaîne f, nous pouvons utiliser des accolades {} directement dans la chaîne pour faire référence aux variables et ajouter un caractère f avant la variable. De cette façon, la variable sera automatiquement convertie en chaîne et remplacée par les accolades correspondantes.

Avec les trois méthodes ci-dessus, nous pouvons résoudre l'erreur « TypeError : type(s) d'opérande non pris en charge pour + : 'str' et 'int' ». Étant donné que dans cette erreur, nous impliquons l'opération d'addition de chaînes et d'entiers, nous devons convertir la variable de type entier en type chaîne afin que l'opération puisse être effectuée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn