web-dev-qa-db-fra.com

variable d'impression et une chaîne en python

Bon, je sais comment imprimer des variables et des chaînes. Mais comment puis-je imprimer quelque chose comme "Ma chaîne" card.price (c'est ma variable). Je veux dire, voici mon code: print "I have " (and here I would like to print my variable card.price).

35
user203558

En imprimant plusieurs valeurs séparées par une virgule:

print "I have", card.price

L'instruction print affichera chaque expression séparée par des espaces, suivie d'un retour à la ligne.

Si vous avez besoin d’une mise en forme plus complexe, utilisez la méthode ''.format() :

print "I have: {0.price}".format(card)

ou en utilisant l'opérateur de formatage de chaîne % plus ancien et semi-obsolète .

34
Martijn Pieters

Quelque chose qui (étonnamment) n'a pas été mentionné ici est une simple concaténation.

Exemple:

foo = "seven"

print("She lives with " + foo + " small men")

Résultat:

Elle vit avec sept petits hommes

De plus, à partir de Python 3, la méthode % est obsolète. N'utilise pas ça.

11
forresthopkinsa

En supposant que vous utilisiez Python 2.7 (pas 3):

print "I have", card.price (comme mentionné ci-dessus).

print "I have %s" % card.price (en utilisant formatage de chaîne )

print " ".join(map(str, ["I have", card.price])) (en joignant des listes)

En fait, il y a beaucoup de façons de faire la même chose. Je préférerais le second.

8
aemdy
'''

If the python version you installed is 3.6.1, you can print strings and a variable through
a single line of code.
For example the first string is "I have", the second string is "US
Dollars" and the variable, **card.price** is equal to 300, we can write
the code this way:

'''

print("I have", card.price, "US Dollars")

#The print() function outputs strings to the screen.  
#The comma lets you concatenate and print strings and variables together in a single line of code.
1
Kaye Louise

Si vous utilisez python 3.6 et plus récent, vous pouvez utiliser des chaînes de caractères f pour effectuer la tâche de cette manière.

print(f"I have {card.price}")

incluez simplement f devant votre chaîne et ajoutez la variable entre accolades {}.

Reportez-vous à un blog Les nouvelles chaînes de caractères f dans Python 3.6 : écrit par Christoph Zwerschke, qui inclut les temps d'exécution des différentes méthodes.

1
vignesh krishnan

De ce que je sais, l’impression peut se faire de plusieurs manières

Voici ce que je suis:

Chaîne d'impression avec des variables 

a = 1
b = "ball"
print("I have", a, b)

Versus chaîne d'impression avec fonctions

a = 1
b = "ball"
print("I have" + str(a) + str(b))

Dans ce cas, str () est une fonction qui prend une variable et crache ce à quoi elle est assignée en tant que chaîne.

Ils donnent tous les deux la même impression, mais de deux manières différentes. J'espère que c'était utile

0
Daniel Gentile