Je veux convertir un entier en chaîne en Python. Je le transforme en vain:
d = 15
d.str()
Lorsque j'essaie de le convertir en chaîne, il affiche une erreur comme int
si aucun attribut n'était appelé str
.
Il n'y a pas de transtypage et aucune contrainte de type en Python. Vous devez convertir votre variable de manière explicite.
Pour convertir un objet en chaîne, vous utilisez la str()
fonction. Il fonctionne avec tout objet doté d'une méthode appelée __str__()
defined. En réalité
str(a)
est équivalent à
a.__str__()
De même si vous voulez convertir quelque chose en int, float, etc.
Pour gérer les entrées non entières:
la source
la source
En Python => 3.6, vous pouvez utiliser le
f
formatage:la source
Pour Python 3.6, vous pouvez utiliser la nouvelle fonctionnalité f-strings pour convertir en chaîne et c'est plus rapide que la fonction str (), elle est utilisée comme ça:
Python fournit la fonction str () pour cette raison.
Pour une réponse plus détaillée, vous pouvez consulter cet article: Conversion de Python Int en chaîne et Python String en Int
la source
La façon la plus décente à mon avis est ``.
la source
repr(i)
, donc ce sera bizarre pour longtemps. (Essayezi = `2 ** 32`; print i
)Peut utiliser
%s
ou.format
(OU)
la source
Pour quelqu'un qui souhaite convertir int en chaîne en chiffres spécifiques, la méthode ci-dessous est recommandée.
Pour plus de détails, vous pouvez vous référer au numéro d'affichage de la question de dépassement de pile avec des zéros en tête .
la source
Avec l'introduction des chaînes f dans Python 3.6, cela fonctionnera également:
C'est en fait plus rapide que d'appeler
str()
, au détriment de la lisibilité.En fait, c'est plus rapide que
%x
le formatage de chaînes et.format()
!la source