En python, dis que tu as
s = "string"
i = 0
print s+i
vous donnera une erreur alors vous écrivez
print s+str(i)
pour ne pas obtenir d'erreur.
Je pense que c'est une manière assez maladroite de gérer la concaténation des int et des chaînes. Même Java n'a pas besoin de transtypage explicite en String pour effectuer ce type de concaténation. Existe-t-il un meilleur moyen de faire ce genre de concaténation, c'est-à-dire sans casting explicite en Python?
python
concatenation
string-concatenation
portée spéciale
la source
la source
"1" + 1
,2
ou"11"
et pourquoi?s+str(i)
, et vous avez raison!Réponses:
Formatage de chaîne moderne:
la source
str.format
méthode a été introduite dans Python 3.0 et rétroportée sur Python 2.6 etPas de formatage de chaîne:
la source
print()
fonction v3 et définissez certains de ses paramètres.Formatage de chaîne, en utilisant la méthode du nouveau style
.format()
(avec les valeurs par défaut fournies par .format () ):Ou le
%
formatage plus ancien, mais "toujours en attente":Dans les deux exemples ci-dessus, il n'y a pas d' espace entre les deux éléments concaténés. Si de l'espace est nécessaire, il peut simplement être ajouté dans les chaînes de format.
Celles-ci fournissent beaucoup de contrôle et de flexibilité sur la façon de concaténer les éléments, l'espace entre eux, etc. Pour plus de détails sur les spécifications de format, voir ceci .
la source
Python est un langage intéressant dans la mesure où s'il existe généralement une (ou deux) façons «évidentes» d'accomplir une tâche donnée, la flexibilité existe toujours.
L'extrait de code ci-dessus est écrit dans la syntaxe Python3 mais les parenthèses après l'impression étaient toujours autorisées (facultatif) jusqu'à ce que la version 3 les rende obligatoires.
J'espère que cela t'aides.
Caitlin
la source
La méthode format () peut être utilisée pour concaténer une chaîne et un entier
la source
si vous voulez seulement imprimer, vous pouvez le faire:
la source
en python 3.6 et plus récent, vous pouvez le formater comme ceci:
ou juste:
la source