Connaissez vous les 10 secrets de print de python ?

© Illustration de Real Python
Salut les 🐍 vous pensiez tout savoir sur notre bon vieux print() ? Préparez-vous à avoir l'esprit soufflé comme un oeuf de Pâques dans un micro-ondes ! Voici 10 faits sur print() qui vont vous faire remettre en question toute votre existence de codeur.
1. print() est en réalité une fonction déguisée
Surprise ! En Python 3, print n'est pas une déclaration, mais une vraie fonction.
print(print)
# Sortie : <built-in function print>
2. Le sep secret
print() a un paramètre sep qui contrôle le séparateur entre les arguments. Par défaut, c'est un espace, mais vous pouvez le transformer en licorne si ça vous chante !
print("Python", "c'est", "cool", sep=" 🦄 ")
# Sortie : Python 🦄 c'est 🦄 cool
3. La fin n'est pas la fin
Le paramètre end vous permet de contrôler ce qui se passe à la fin. Fini les sauts de ligne automatiques !
print("Je ne veux pas sauter de ligne", end=" 😱 ")
print("Moi non plus !")
# Sortie : Je ne veux pas sauter de ligne 😱 Moi non plus !
4. print() est un maître du déguisement
Vous pouvez redéfinir print().
def print(*args):
__builtins__.print("J'ai piraté ton print !", *args)
print("Hello")
# Sortie : J'ai piraté ton print ! Hello
5. Le flush mystérieux
Le paramètre flush force l'affichage immédiat. Utile quand vous voulez voir vos prints avant que le programme ne plante lamentablement.
import time
print("Je suis rapide!", flush=True)
time.sleep(10)
print("J'ai pris mon temps...")
# Sortie : Nah tu attendais à quoi ? je suis pas un console...Test it!
6. print() parle aux fichiers
Avec le paramètre file, peut écrire dans n'importe quel objet fichier.
with open('codingteam_story.txt', 'w') as f:
print("Il était une fois...", file=f)
7. Le retour silencieux
print() retourne toujours None.
x = print("Coucou")
print(x)
# Sortie : None (Explique moi ça en commentaire)
8. L'astuce du print multiligne
Utilisez des triples guillemets pour des prints multilignes sans \n (Toi tu utilises toujours \n pour tes sauts de ligne 😁)
print("""
Ceci
est
sur
plusieurs
lignes
""")
9. print() est polyglotte
Il peut gérer plusieurs encodages.
print("Здравствуй, мир!") # Bonjour monde en russe
print("こんにちは世界!") # Bonjour monde en japonais
10. Le pouvoir de l'étoile
Utilisez * pour unpacker des listes ou des tuples dans print()
ma_liste = ["Python", "c'est", "génial"]
print(*ma_liste)
# Sortie : Python c'est génial
Voilà, maintenant vous connaissez les secrets les plus obscurs de print() ! La prochaine fois que quelqu'un vous dira que print() est ennuyeux, montrez-lui cet article et regardez son cerveau exploser 💥
N'oubliez pas : avec un grand print() viennent de grandes responsabilités. Utilisez ces astuces avec sagesse, ou au moins pour impressionner vos collègues lors de la prochaine réunion de code review ! 🦸♂️
2 commentaires