En Python 2, j'ai utilisé :
print "a=%d,b=%d" % (f(x,n),g(x,n))
J'ai essayé :
print("a=%d,b=%d") % (f(x,n),g(x,n))
En Python 2, j'ai utilisé :
print "a=%d,b=%d" % (f(x,n),g(x,n))
J'ai essayé :
print("a=%d,b=%d") % (f(x,n),g(x,n))
En Python2, print
était un mot-clé qui introduisait une instruction :
print "Hi"
En Python3, print
est une fonction qui peut être invoquée :
print ("Hi")
Dans les deux versions, %
est un opérateur qui nécessite une chaîne à gauche et une valeur ou un tuple de valeurs ou un objet de mappage (comme dict
) à droite.
Donc, votre ligne devrait ressembler à ceci :
print("a=%d,b=%d" % (f(x,n),g(x,n)))
De plus, la recommandation pour Python3 et les versions plus récentes est d'utiliser le formatage {}
plutôt que le formatage %
:
print('a={:d}, b={:d}'.format(f(x,n),g(x,n)))
Python 3.6 introduit yet un autre paradigme de formatage de chaîne : f-strings.
print(f'a={f(x,n):d}, b={g(x,n):d}')
La manière la plus recommandée de le faire est d'utiliser la méthode format
. En savoir plus à ce sujet ici
a, b = 1, 2
print("a={0},b={1}".format(a, b))
Fonction printf() simple provenant du Python Cookbook d'O'Reilly.
import sys
def printf(format, *args):
sys.stdout.write(format % args)
Exemple de sortie:
i = 7
pi = 3.14159265359
printf("salut tout le monde, i=%d, pi=%.2f\n", i, pi)
# salut tout le monde, i=7, pi=3.14
Python 3.6 a introduit les f-strings pour l'interpolation en ligne. Ce qui est encore plus agréable, c'est qu'il a étendu la syntaxe pour également permettre les spécificateurs de format avec l'interpolation. Quelque chose sur lequel j'ai travaillé pendant que je cherchais sur Google (et suis tombé sur cette vieille question!) :
print(f'{account:40s} ({ratio:3.2f}) -> AUD {splitAmount}')
PEP 498 a les détails. Et... cela a résolu mon agacement avec les spécificateurs de format dans d'autres langages -- permet des spécificateurs qui peuvent eux-mêmes être des expressions ! Hourra ! Voir : Format Specifiers.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.