La fonction print
est une fonction importante en Python, car elle est utilisée pour rediriger la sortie vers le terminal. La sortie peut également être redirigée vers un fichier.
La fonction print
, par défaut, imprime sur une nouvelle ligne à chaque fois. Cela est dû à la définition de print()
dans la documentation Python.
Pourquoi la fonction print
de Python imprime-t-elle sur une nouvelle ligne par défaut ?
Dans le snippet ci-dessous, nous pouvons voir que la valeur de end
est par défaut n
. Cela signifie que chaque instruction d’impression se termine par un n
. Notez que n
représente un caractère de nouvelle ligne.
Voyons un exemple de la fonction print.
Exemple de code :
# Utilisation de Print avec les paramètres par défaut
print("Ceci sera imprimé")
print("en lignes séparées")
Sortie:
Dans l’exemple ci-dessus, les lignes seront imprimées séparément en raison de la définition : end='n'
.
Comment imprimer sur la même ligne en Python ?
Parfois, nous avons besoin d’imprimer des chaînes de caractères sur la même ligne. Ceci est particulièrement utile lorsque nous lisons des fichiers en Python. Lorsque nous lisons des fichiers, nous avons par défaut un blanc entre les lignes.
Prenons un exemple. Nous avons un fichier nommé rainbow.txt
dont le contenu est indiqué ci-dessous :
Code :
fhand = open('rainbow.txt')
for line in fhand :
print(line)
Dans le code ci-dessus, nous avons utilisé un gestionnaire de fichier fhand
pour accéder au fichier. Ensuite, nous itérons à travers les lignes en utilisant une boucle for
.
Sortie :
Lorsque nous imprimons le contenu, les résultats sont les suivants :
La ligne blanche supplémentaire est due à la présence de n
à la fin de chaque ligne du fichier qui déplace le curseur à la ligne suivante. Enfin, la ligne blanche est ajoutée en raison du comportement de la fonction print
, comme nous l’avons vu dans la dernière section.
Disons que nous voulons les supprimer. Pour ce faire, nous pouvons effectuer quelques changements. Pour cela, nous devons changer le comportement par défaut de print
. Nous verrons comment le faire en détail dans les sections suivantes.
Option n° 1 – Comment modifier la valeur de end
dans une fonction print
?
Personnalisons la valeur de end
dans la fonction print
. Nous allons lui donner la valeur ' '
qui est un espace.
Exemple de code :
# Personnalisation de la valeur de 'end'
print("Ceci est la chaîne 1 de la même ligne", end=' ')
print("C'est la chaîne 2 d'une autre ligne")
Sortie:
Maintenant, nous pouvons voir qu’au lieu d’une nouvelle ligne (n)
, nous demandons à la fonction d’impression d’ajouter un caractère blanc à la fin.
Nous pouvons également fournir un autre caractère au lieu d’un blanc comme ceci :
# Personnalisation de la valeur de 'end' avec un séparateur personnalisé
print("Ceci est la chaîne 1 de la même ligne", end=';')
print("Ceci est la chaîne 2 d'une autre ligne")
Sortie:
Utilisation : L’exemple ci-dessus est juste un moyen d’imprimer sur la même ligne avec le caractère de séparation de votre choix.
Voyons un autre exemple. Nous pouvons itérer à travers une liste d’éléments et les imprimer sur la même ligne avec end = ' '
.
# itération de listes
list_fruits = ['rouge', 'bleu', 'vert', 'orange']
for i in liste_fruits
print(i, end = ' ')
Sortie :
Option #2 – Supprimer les espaces en utilisant rstrip()
dans les fichiers
Nous pouvons supprimer certains caractères autour d’une chaîne de caractères en utilisant strip()
. Par défaut, chaque ligne d’un fichier a "n"
à la fin. Comme nous ne sommes concernés que par le caractère à droite, nous allons utiliser rstrip()
qui signifie right-strip. Nous verrons un exemple de rstrip()
plus loin.
Vous pouvez en savoir plus sur la méthode strip()
dans cet article de blog.
Retour à notre exemple d’impression de fichier
Rappelez-vous, nous avons discuté d’un exemple d’impression de fichier où des lignes supplémentaires étaient imprimées :
Modifions un peu le code en utilisant rstrip()
.
print("1. suppression de la ligne blanche supplémentaire")
fhand = open('rainbow.txt')
for line in fhand :
line=line.rstrip()
print(ligne)
print("n")
print("2. impression de tous les caractères sur la même ligne")
fhand = open('rainbow.txt')
for line in fhand :
line=line.rstrip("n")
print(ligne, end = ' ')
Sortie
Tout d’abord, nous avons supprimé l’espace blanc supplémentaire avec rstrip()
. Dans l’étape suivante, nous avons supprimé la dernière ligne avec rstrip("n")
et end=' '
pour obtenir la sortie sur une seule ligne.
Conclusion
Nous avons vu comment nous pouvons imprimer en Python sans nouvelle ligne. Nous avons également vu comment nous pouvons imprimer des lignes dans un fichier sans lignes de fin supplémentaires. J’espère que ce tutoriel vous a été utile.
Partagez vos réflexions avec moi sur Twitter !
Vous pouvez lire mes autres articles ici.