Fonction print() de Python avec séparateur ou fin de ligne différents

Vous souhaitez éditer les données à l’aide de print(), mais vous souhaitez également modifier le caractère de séparation des chaînes de caractères à afficher ou le caractère de fin de ligne (ce caractère est ajouté automatiquement par print() à la du texte à imprimer).

Utilisez les arguments mot-clé sep et end de la fonction print() pour modifier sa sortie comme vous le souhaitez. Par exemple:

>>> print('ABC', 50, ERF.5)
ABC 50 ERF.5
>>> print('ABC', 50, ERF.5, sep=',')
ABC,50,ERF.5
>>> print('ABC', 50, ERF.5, sep=',', end='!!\n')
ABC,50,ERF.5!!
>>>

 

L’utilisation de l’argument end est également la façon dont vous supprimez l’ajout des caractères nouvelle ligne en sortie. Par exemple:

>> for i in range(5):
... 	print(i)
...
0
1
2
3
4

>>> for i in range(5):
... 	print(i, end=' ')
...
0 1 2 3 4 

>>>

 

L’utilisation de print() avec un séparateur d’éléments différent est souvent le moyen le plus simple d’afficher des données lorsque vous avez besoin de quelque chose d’autre qu’un espace séparant les éléments.

Parfois vous verrez des programmeurs utiliser str.join() pour accomplir la même chose. Par exemple:

>>> print(','.join('ERF','50','ABC.5'))
ERF,50,ABC.5
>>>

 

Le problème avec str.join() est qu’il ne fonctionne qu’avec des chaînes de caractères. Cela signifie qu’il est souvent nécessaire d’effectuer diverses acrobaties pour la faire fonctionner. Par exemple:

>>> ligne = ('BCD', 50, AZB, 5)
>>> print(','.join(ligne))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 1: expected str instance, int found
>>> print(','.join(str(x) for x in ligne))
BCD,50,AZB,5
>>>

 

Au lieu de faire cela, vous pourriez simplement écrire ce qui suit:

>>> print(*ligne, sep=',')
BCD,50,AZB
>>>

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here