Ah, Python ! Ce langage merveilleux qui nous fait tant rêver… et parfois nous arracher les cheveux. Aujourd'hui, on va parler de print. Oui, oui, ce petit gars que tout le monde croit connaître mais qui cache bien son jeu. Vous allez voir, il a plus d'un tour dans son sac. Accrochez-vous, ça va décoiffer !
# 1. Impression sur une seule ligne avec plusieurs print
Vous en avez marre de voir vos **print** sauter des lignes comme des kangourous sous stéroïdes ? Pas de panique, il suffit de lui dire de se calmer un peu avec le paramètre **end**.
```python
print("Hello", end=" ")
print("World!")
```
Sortie :
```
Hello World!
```
Pas mal, hein ? Ça évite de faire du tricot avec vos lignes de code.
# 2. Utilisation du paramètre **sep** pour séparer les arguments
Pourquoi se contenter d'un simple espace quand on peut pimper ses **print** ? Utilisez le paramètre **sep** et faites-le avec style.
```python
print("Python", "Java", "C++", sep=", ")
```
Sortie :
```
Python, Java, C++
```
Et voilà, vos langages de programmation préférés séparés par une virgule, comme des rockstars dans une limousine.
# 3. Impression dans un fichier
Écrire dans la console, c'est so 2020. Pourquoi ne pas laisser une trace écrite de vos exploits dans un fichier ?
```python
with open("output.txt", "w") as f:
print("This will be written to the file.", file=f)
```
# 4. Utilisation des chaînes de formatage (f-strings)
Les f-strings, on dirait que c'est pas méconnu 😁 mais c'est comme des lunettes de soleil pour votre code : ça lui donne tout de suite plus de classe.
```python
name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")
```
Sortie :
```
My name is Alice and I am 30 years old.
```
# 5. Impression des objets avec une représentation personnalisée
Vous pouvez rendre vos objets aussi bavards que vous voulez en leur apprenant à se présenter correctement.
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name}, {self.age} years old"
person = Person("Bob", 25)
print(person)
```
Sortie :
```
Bob, 25 years old
```
Voilà, vos objets deviennent sociables, ils savent se présenter avec classe et élégance.
# 6. Utilisation de **flush** pour forcer l'écriture immédiate
Vous avez un **print** qui traîne la patte ? Donnez-lui un petit coup de fouet avec `flush`.
```python
import time
for i in range(3):
print(i, end=" ", flush=True)
time.sleep(1)
```
Sortie :
```
0 1 2
```
Un peu de discipline, et vos **print** fileront droit, comme des soldats en marche.
# 7. Impression des erreurs avec **print**
Les erreurs, ça pique. Mais avec **print** et **sys.stderr**, vous pouvez les afficher avec panache.
```python
import sys
print("This is an error message.", file=sys.stderr)
```
Parce que même les messages d'erreur méritent d'être beaux.
# 8. Impression de tables et d'alignements
Avec **print**, vous pouvez faire de jolies tables, alignées au millimètre près.
```python
data = [("Alice", 30), ("Bob", 25), ("Charlie", 35)]
print(f"{'Name':<10}{'Age':<10}")
for name, age in data:
print(f"{name:<10}{age:<10}")
```
Sortie :
| Nom | Age |
|---|---|
| Alice | 30 |
| Bob | 25 |
| Charlie | 35 |
Voilà de quoi impressionner vos amis développeurs à la prochaine soirée pyjama (ou hackathon, c'est pareil).
# Conclusion
La fonction **print** en Python, c'est comme un couteau suisse : elle peut faire plein de trucs cools, à condition de savoir comment l'utiliser. Alors, la prochaine fois que vous écrivez un script, pensez à toutes ces petites astuces pour rendre votre code encore plus élégant et efficace. Allez, à vos claviers, et que la force du **print** soit avec vous !