1. Développement, langage

Gérer les entrées et les sorties en Python.

Comprendre les principes de base des entrées/sorties en Python

Python, communique de diverses façons que nous abordons ici sous le nom d’opérations d’entrée et de sortie.

  1. Les opérations d’entrée en Python nous permettent de recueillir l’information nécessaire. La fonction intégrée input() est souvent utilisée comme ligne de chute d’informations, récupérant les données de l’utilisateur. Par exemple :
x = input("Entrez une valeur : ")

Dans cet exemple, la fonction input() collecte les données de l’utilisateur et les assigne à la variable x.

  1. Les opérations de sortie, d’autre part, sont la manière dont Python sort les informations. La plus courante est la fonction print(). Par exemple :
print(x)

Dans cet exemple, la valeur de la variable x est imprimée à l’écran.

Entrée Sortie
Fonction de base input() print()
Exemple d’utilisation input("Entrez une valeur : ") print(x)

Comparons cela avec les commandes de base en C.

Python C
Entrée ‘input()’ ‘scanf()’
Sortie ‘print()’ ‘printf()’

Comprendre les opérations d’entrée et de sortie en Python peut être résumé dans ces étapes :

  1. Collecter les informations en utilisant des opérations d’entrée.
  2. Traiter les informations collectées.
  3. Renvoyer le résultat grâce à des opérations de sortie.

Comme l’a si bien dit Guido van Rossum, le créateur de Python : “Simple is better than complex.” C’est donc avec cette simplicité que Python gère ses opérations d’entrée et de sortie.

Pourtant, chaque serpent est unique, et Python ne fait pas exception. Avec son approche unique des opérations d’entrée et de sortie, Python continue d’illuminer le monde du développement, comme un phare dans l’obscurité de la complexité du code.

D’accord.

Comprendre les principes de base des entrées/sorties en Python

Les entrées et les sorties en Python sont fondamentales pour la communication entre l’utilisateur et le programme. Les entrées (entrée) permettent à l’utilisateur de transmettre des données au programme, souvent à travers des fonctions telles que la fonction input, qui recueille les données sous forme d’une chaîne de caractères. D’autre part, pour afficher les résultats ou les messages au utilisateur, on utilise des sorties, comme avec la fonction print.

Lorsqu’on travaille avec des fichiers, Python offre plusieurs fonctions intégrées, telles que la fonction open pour ouvrir un fichier en mode lecture ou écriture. Par exemple, on peut lire une ligne de données avec f.read, ou bien écrire une nouvelle ligne en utilisant des méthodes comme write(). Il est crucial de bien fermer chaque fichier après utilisation pour éviter des erreurs dans le programme python et de respecter les bonnes pratiques pour une gestion efficace des entrées/sorties.

En programmation, notamment en programmation orientée objet, il est important de manipuler ces opérations avec précaution et de gérer les potentielles erreurs d’entrées/sorties correctement. Cela inclut l’usage de try...except pour capturer les exceptions et s’assurer que les fichiers sont bien nettoyés avec f.close ou l’amélioration de ce processus avec l’instruction with.

Dans notre travail quotidien, il est donc essentiel de comprendre les multiples types et fonctions disponibles en Python pour une gestion optimale des tâches d’entrées/sorties.

Manipulation des fichiers : ouvrir et fermer

En Python, la manipulation des fichiers est un concept crucial, particulièrement les opérations d’ouverture et de fermeture avec la fonction open. Avant de procéder à la lecture ou l’écriture des données, nous devons utiliser cette fonction pour obtenir un objet fichier en spécifiant le nom du fichier et le mode d’accès souhaité.

Pour ouvrir un fichier, on utilise la syntaxe fichier = open('nom_du_fichier', 'mode') où ‘nom_du_fichier’ correspond au nom du fichier à ouvrir et ‘mode’ détermine la façon dont le fichier sera utilisé – par exemple, ‘r’ pour la lecture (‘read’), ‘w’ pour l’écriture (‘write’), ‘a’ pour l’ajout (‘append’), ainsi que ‘b’ pour le mode binaire, ou encore ‘r+’ pour la lecture et l’écriture.

Il est essentiel de toujours fermer les fichiers après leur utilisation pour libérer les ressources système associées à ceux-ci, ce qui se fait grâce à la méthode .close() apposée à l’objet fichier. Ne pas fermer un fichier peut entraîner des comportements imprévisibles ou des pertes de données, d’où l’importance de cette étape dans le bon nettoyage des fichiers.

En outre, Python offre un paradigme appelé with qui permet d’encapsuler les opérations d’entrées/sorties et assure la fermeture du fichier de manière automatique après son bloc d’instruction. Utiliser with open('nom_du_fichier', 'mode') as fichier: est donc une pratique recommandée pour gérer les fichiers.

Voici des exemples de gestion des fichiers avec ces techniques :

# Utilisation du mode lecture
with open('exemple.txt', 'r') as fichier:
    contenu = fichier.read()
    print(contenu)

# Utilisation du mode écriture
with open('exemple.txt', 'w') as fichier:
    fichier.write('Bonjour Python')

# Fermeture explicite sans le 'with'
fichier = open('exemple.txt', 'r')
try:
    ligne = fichier.readline()
    print(ligne)
finally:
    fichier.close()

Lire des données à partir d’un fichier

Dans le vaste univers de la programmation en Python, la capacité à lire des données à partir d’un fichier est une compétence fondamentale. Pour aborder cette tâche, le programme Python utilise la fonction open, un incontournable qui sert de porte d’accès pour les entrées et sorties fichier. En spécifiant le mode lecture, représenté par “r”, nous invitons Python à ouvrir le fichier en question sans altérer son contenu.

fichier = open('mon_fichier.txt', 'r')

Lorsque l’on exécute cette ligne, une variable fichier est liée au fichier ouvert, prête à en lire les données. Utiliser la fonction read va absorber les caractères ligne par ligne, tel un végétal puisant l’eau du sol, étoffant notre programme de précieuses informations.

contenu = fichier.read()
print(contenu)

Cependant, absorber l’intégralité d’un fichier d’un seul trait peut être indigeste pour notre programme, surtout si le fichier est aussi vaste qu’une mer de données. On préférera souvent lire ligne par ligne, en utilisant une boucle for, qui, tel un pêcheur patient, capture chaque ligne une à une :

for ligne in fichier:
    print(ligne)

Cette méthode de lecture est particulièrement utile lorsque vous souhaitez traiter ou analyser le fichier progressivement, avec la possibilité d’examiner chaque ligne comme s’il s’agissait d’une chaîne de caractères distincte.

Voici un exemple illustrant la simplicité et l’élégance du processus :

fichier = open('mon_fichier.txt', 'r')
for ligne in fichier:
    print(ligne, end='')
fichier.close()

Notez que chaque lecture nous immerge plus profondément dans la compréhension des secrets inscrits entre les lignes de code. L’utilisation des modes binaire ou texte dépend des types de fichiers que nous convoitons; le mode texte étant le choix par défaut, similaire à un château ouvert à tous, tandis que le mode binaire, tel un coffre fermé, nécessite une clé spéciale – ou en termes de programmation, un ‘b’ ajouté au mode (‘rb’ ou ‘wb’).

Enfin, comme après un repas copieux, il faut bien nettoyer, pensez toujours à fermer le fichier avec la méthode close. Omettre cette étape serait comme quitter la table sans débarrasser, laissant des ressources précieuses bloquées inutilement.

“`plain text
fichier.close()


La lecture des données à partir d'un fichier en Python est alors à la fois un art et une science, un équilibre délicat entre la technique et la poésie des données qui coulent à travers les structures de contrôle de notre programme.

## Écrire des données dans un fichier

Pour écrire des données dans un fichier en Python, on utilise principalement la fonction open, accompagnée du mode ajout ou mode écriture, pour créer ou modifier le contenu d’un fichier. Par exemple, avec `f = open('nom_fichier.txt', 'w')` pour écrire (`'w'`) ou `f = open('nom_fichier.txt', 'a')` pour ajouter (`'a'`) des données. Une fois le fichier ouvert, on peut y écrire des chaînes de caractères en utilisant la fonction `f.write()`.

La fonction write prend comme argument la chaîne de caractères ou les variables à écrire dans le fichier. Si vous avez une chaîne de plusieurs lignes ou des données structurées, préparez la chaîne avant de l'écrire. Après l’écriture, il est essentiel d'invoquer `f.close()` pour assurer que toutes les données ont été bien écrites et que le fichier est fermé correctement. Voici un bref exemple :


```python
# Ouvre fichier en mode écriture
with open('exemple.txt', 'w') as fichier:
    fichier.write("Bonjour, monde Python !\n")
    fichier.write("La fonction write est facile à utiliser.\n")
# Le fichier est automatiquement fermé à la sortie de la structure 'with'

En plus de la gestion manuelle des fichiers, Python fournit des méthodes pour gérer les exceptions et erreurs d’entrée/sortie, comme les erreurs de fichier non trouvé ou les erreurs de permission. Utiliser try...except autour des blocs d’ouverture et d’écriture du fichier permet de contrôler ces exceptions et d’assurer la robustesse du programme.

try:
    with open('exemple.txt', 'w') as fichier:
        fichier.write("Nous gérons les erreurs avec finesse.\n")
except IOError:
    print("Une erreur s'est produite lors de l'écriture dans le fichier.")

Aussi, il est bon de pratiquer la programmation orientée objet pour créer des programmes Python modulaires et facilement maintenables.

Fonction Description
open() Ouvre un fichier en mode spécifié, comme lecture (‘r’) ou écriture (‘w’).
write() Écrit des données dans le fichier et renvoie le nombre de caractères écrits.
close() Ferme le fichier et libère les ressources du système allouées à ce fichier.

Il est important de noter qu’en mode écriture, si le fichier existe déjà, il sera écrasé. Tandis qu’en mode ajout, les données seront ajoutées à la fin du fichier existant.

  • Ouvrir un fichier avec open()
  • Utiliser write() pour insérer du texte
  • Fermer le fichier avec close()
"L'écriture dans un fichier est comme peindre une toile vierge, chaque ligne de code colore la matrice de données d'une nuance de sens."

Utiliser les méthodes read() et write()

En python, travailler avec des fichiers est une tâche courante et essentielle dans le domaine de la programmation. Pour manipuler les données de fichier, nous utilisons principalement les fonctions read() et write() après avoir ouvert les fichiers à l’aide de la fonction open. La fonction open peut être paramétrée pour ouvrir un fichier en mode lecture ou en mode ajout, selon que l’on souhaite lire le contenu ou y ajouter des données.

La méthode read() permet de lire les données d’un fichier ligne par ligne, ou tout le contenu d’un seul coup en fonction des besoins du programme python. La quantité de données à lire peut être spécifiée en caractères. Par exemple:

with open('exemple.txt', 'r') as f:
    contenu = f.read()
    print(contenu)

D’autre part, la méthode write() est utilisée pour écrire des données dans un fichier. Il est crucial de spécifier le bon mode pour éviter de supprimer le contenu existant si ce n’est pas le souhait. Voici un exemple simple d’utilisation :

with open('exemple.txt', 'w') as f:
    f.write('Bonjour, je suis un exemple de texte écrit dans un fichier.')

Ces fonctions sont des outils puissants qui, lorsqu’elles sont maîtrisées, améliorent significativement l’interaction entre l’utilisateur et le programme. La maîtrise des entrées et sorties de fichiers avec ces méthodes est un pilier de la programmation orientée objet en Python; il ouvre la porte à un large éventail d’opérations de gestion de fichiers tant en mode texte qu’en mode binaire.

Gérer les erreurs d’entrées/sorties en Python

En programmation Python, il est courant d’interagir avec des fichiers, que ce soit pour lire des données ou écrire des résultats. Cependant, ces opérations d’entrées et de sorties ne sont pas à l’abri d’erreurs, pouvant provenir d’un fichier introuvable, d’une permission refusée ou encore d’un espace disque insuffisant. Pour cela, Python fournit des fonctions permettant de gérer ces erreurs de manière élégante.

Les fonctions comme fonction open pour ouvrir un fichier, destinées à la manipulation des fichiers, peuvent engendrer des exceptions que l’utilisateur doit savoir attraper en utilisant des blocs try et except. Par exemple, lorsqu’on utilise la fonction open en mode lecture ('r') et que le fichier désiré n’existe pas, Python lève une exception FileNotFoundError.

try: 
    avec fonction open('données.txt', 'r') comme fichier:
        contenu = fichier.read()
except FileNotFoundError: 
    print("Le fichier demandé n'est pas trouvé.")

Il est également conseillé d’intercepter des erreurs plus générales comme IOError, qui peuvent inclure différents types de problèmes liés aux entrées/sorties. En enveloppant les interactions avec les fichiers dans ces blocs de gestion d’erreur, le programme Python devient plus robuste et plus convivial pour l’utilisateur.

Gérer correctement les erreurs permet d’assurer une meilleure intégrité des données, particulièrement lorsqu’on travaille en mode ajout ('a') où chaque exécution de la fonction write ajoute du contenu à la fin du fichier. De même, il est important de suivre les “tutoriel python” recommandant de toujours fermer les fichiers après usage, ce qui peut être aisément accompli avec le mot-clé with, garantissant la fermeture des fichiers même en cas d’erreur lors des opérations de fichiers.

En suivant ces pratiques de gestion d’erreurs et de bon nettoyage, les programmeurs peuvent construire des programmes fiables et maintenir une programmation orientée objet solide et sécurisée pour leurs applications d’entrées/sorties.

L’importance du bon nettoyage des fichiers

Dans un environnement de programmation, notamment en utilisant Python, la manipulation efficace des entrées et sorties est essentielle, surtout lorsqu’il s’agit de travailler avec des fichiers. Il est crucial de comprendre l’importance du bon nettoyage des fichiers, car cela peut prévenir la corruption de données et éviter la perte d’informations précieuses. Souvent, dans un programme python, les données sont lues ou écrites dans un fichier ligne par ligne, ce qui rend nécessaire l’utilisation appropriée des fonctions comme fonction open et fonction close.

Un bon nettoyage implique la fermeture de chaque fichier ouvert avec la fonction open une fois que les données nécessaires ont été manipulées. Cela permet de s’assurer que toutes les sorties tamponnées sont correctement écrites dans le fichier et que les ressources sont libérées correctement. En utilisant la structure with en Python, par exemple, elle assure que le fichier est bien fermé après son bloc d’intervention. Ceci est une illustration de la programmation orientée objet, appliquée à la gestion des ressources dans les programmes.

with open('example.txt', 'w') as fichier:
    fichier.write("Des données importantes à conserver")
# Le fichier est automatiquement fermé ici, même en cas d'erreur

En outre, gérer les erreurs d’entrées/sorties grâce à des blocs tryexcept minimise les risques de quitter un programme sans fermer les fichiers. Voici comment on peut aborder cette gestion :

try:
    fichier = open('data.txt', 'r')
    # Traiter les données ici
finally:
    fichier.close()

En résumant, le bon nettoyage des fichiers est indispensable pour maintenir l’intégrité des données et assurer la stabilité du programme. Il reflète une pratique responsable et professionnelle dans la gestion des fichiers et de l’espace de stockage, une compétence qui serait mise en valeur dans tout tutoriel python de qualité.

Travailler avec des fichiers binaires en Python

En Python, travailler avec des fichiers binaires est une fonction essentielle pour gérer des données telles que des images, des fichiers audio, ou même des données sérialisées. Pour ouvrir un fichier en mode binaire, on utilise la fonction open avec le mode ‘b’ ajouté au mode d’accès. Par exemple, fonction open('mon_fichier.bin', 'rb') pour lire un fichier binaire ou fonction open('mon_fichier.bin', 'wb') pour écrire dans un fichier binaire. À la différence du mode texte, où les caractères sont lus en tant que chaîne de caractères, le mode binaire manipule les données sous forme de bytes et non en fonction des fichiers lignes ou caractères.

Il est crucial d’appliquer des fonctions appropriées pour lire ou écrire en utilisant ces types de données binaires. Par exemple, la fonction read() va lire un bloc de données de la largeur donnée, tandis que write() va écrire des données binaires dans votre fichier. L’utilisation de modules Python comme module pickle permet de sérialiser et désérialiser des structures d’objet Python, transformant les données en format binaire avec pickle.dump et les extrayant avec pickle.load. De même, le format json est souvent utilisé pour sérialiser des structures de données en chaîne qui peut ensuite être facilement lue ou écrite dans un fichier.

Pour gérer les entrées/sorties en mode binaire, il faut souvent associer des fonctions plus complexes telles que celles impliquées dans la programmation orientée objet pour encapsuler la lecture et l’écriture de données complexes. De plus, anticiper et gérer les erreurs d’entrée/sortie avec soin est important pour assurer la robustesse du programme Python.

En tant que bonne pratique, il est recommandé de toujours fermer les fichiers après les opérations pour prévenir toute perte de données ou corruption du fichier. Cela peut être fait en utilisant fichier.close() ou le gestionnaire de contexte ‘with’ qui gère automatiquement la fermeture du fichier, même si des exceptions sont levées au cours des opérations de fichier.

Voici un exemple simple d’utilisation des fichiers binaires en Python :

with fonction open('exemple.bin', 'wb') as fichier:
    fichier.write(b'Some binary data')

Et pour lire les données de ce fichier, on pourrait utiliser :

with fonction open('exemple.bin', 'rb') as fichier:
    contenu = fichier.read()
    print(contenu)

La précision et la prudence dans la manipulation des entrées/sorties des fichiers binaires sont essentielles pour assurer l’intégrité des données traitées par votre programme Python.

Ok.

Sérialisation en Python : Pickle et JSON

En Python, les données peuvent être facilement manipulées, mais quand il s’agit de les conserver ou de les transmettre, la sérialisation entre en jeu. Utiliser les modules Python pickle et JSON sont deux moyens efficaces pour la sérialisation des données. Avec pickle, vous pouvez convertir presque tous les types de données Python en un format de fichier binaire et vice-versa. Cela inclut les objets de programmation orientée objet, les variables complexes et même certaines fonctions. Par exemple, pour sérialiser une variable contenant une chaîne de caractères avec Pickle, utilisez la fonction open en mode binaire:

import pickle

variable = "Exemple de chaîne"
with open('fichier.p', 'wb') as f:
    pickle.dump(variable, f)

Ensuite, vous pouvez lire ce fichier et récupérer la variable initiale avec les fonctions pickle.load():

with open('fichier.p', 'rb') as f:
    variable_lue = pickle.load(f)

D’autre part, le format JSON, qui est un format de texte basé sur la notation JavaScript, est universel et peut être utilisé pour échanger des données entre différents langages de programmation. En Python, le module json vous permet de convertir les dictionnaires, les listes, et les chaînes de caractères en chaîne suivant le format JSON et inversement. Voici comment écrire et lire des données en format JSON:

import json

donnees = {"nom": "Python", "type": "Serpent"}
with open('donnees.json', 'w') as fichier_json:
    json.dump(donnees, fichier_json)

with open('donnees.json', 'r') as fichier_json:
    donnees_lues = json.load(fichier_json)

La gestion des erreurs est également importante lorsqu’on travaille avec la sérialisation. Pour Python, cela signifie essentiellement envelopper vos opérations de fichier dans des blocs try-except pour capturer les exceptions comme EOFError ou IOError.

Module Type Description
pickle Binaire Sérialise une large gamme d’objets Python
json Texte Sérialise des structures de données simples en chaîne JSON

Connaître module pickle et format json et choisir le bon outil selon le contexte, entre le mode binaire et le mode texte, est essentiel pour gérer avec efficacité les entrées et sorties en programme Python.

Utilisation de la bibliothèque os pour interagir avec le système d’exploitation

En programmation, la capacité d’un programme Python à interagir avec le système d’exploitation est essentielle pour effectuer des tâches telles que la manipulation de fichiers et la gestion des entrées/sorties. La bibliothèque os est une collection de fonctions intégrées qui permet un tel niveau d’interaction. Elle offre diverses fonctionnalités pour travailler avec des fichiers et des répertoires, comme les fonctions pour créer, supprimer ou modifier des fichiers.

L’utilisation des fonctions os facilite la gestion des chemins de fichiers et la modification des variables d’environnement, rendant votre programme Python plus dynamique et adaptable à différents environnements d’exploitation. Nous pouvons voir l’importance des fonctions telles que os.listdir() pour litrer le contenu d’un répertoire, ou os.remove() pour effacer un fichier.

Voici un exemple:

import os

# Lister les fichiers dans le répertoire courant
print(os.listdir('.'))

# Créer un nouveau dossier
os.mkdir('nouveau_dossier')

# Renommer un fichier
os.rename('ancien_fichier.txt', 'nouveau_fichier.txt')

# Supprimer un fichier
os.remove('nouveau_fichier.txt')

Il est important de traiter avec précaution les erreurs d’entrées/sorties, comme le montrent les pratiques de la programmation orientée objet, pour assurer la robustesse de l’application.

Fonction Description
os.listdir() Retourne la liste des entrées dans le répertoire donné.
os.mkdir() Crée un répertoire nommé path.
os.rename() Renomme le fichier ou le répertoire source en cible.
os.remove() Supprime le fichier path.

Pour comparer, voici deux scénarios où la gestion des erreurs peut différer:

Scénario Avec try...except Sans gestion d’erreur
Suppression de fichier Empêche l’arrêt du programme si le fichier n’existe pas. Peut causer une exception FileNotFoundError.
Création de répertoire Permet de gérer l’existence préalable du dossier. Lance une exception FileExistsError si le dossier existe déjà.

Les tâches courantes pour interagir avec le système d’exploitation comprennent:

  • Lister les fichiers et répertoires.
  • Créer et supprimer des fichiers et répertoires.
  • Changer de répertoire de travail.
  • Récupérer des informations sur les fichiers.
"Naviguer dans le répertoire d'un système d'exploitation avec la bibliothèque `os`, c'est comme utiliser une carte pour se déplacer dans une ville inconnue - cela rend l'expérience transparente et efficace."

En résumé, la bibliothèque os est un outil puissant qui étend les capacités d’un “programme Python”, en permettant une interaction plus fine et contrôlée avec le système d’exploitation hôte. C’est un aspect important de la construction de logiciels qui sont efficaces et respectueux des besoins de l’utilisateur en termes d’entrées et de sorties.

Les meilleures pratiques pour la gestion des entrées/sorties en Python

En Python, une gestion efficace des entrées et sorties est cruciale pour assurer que votre programme fonctionne sans erreur et de manière efficace. Une pratique exemplaire consiste à toujours utiliser la fonction open en contexte avec with, ce qui garantit que vos fichiers seront correctement fermés après leur utilisation. La syntaxe est simple et élégante :

with open('chemin/vers/le/fichier', 'mode') as fichier:
    données = fichier.read()

Lorsque vous travaillez avec des fichiers, il est important de choisir le bon mode. Utilisez le mode texte pour les fichiers textuels et le mode binaire pour les fichiers tels que des images ou d’autres types de données binaires.

Une autre meilleure pratique consiste à gérer systématiquement les potentielles erreurs d’entrées/sorties à l’aide des blocs try et except. Cela prévient les plantages inattendus du programme en cas de problèmes lors de la manipulation des fichiers. Par exemple :

try:
    with open('fichier.txt', 'r') as f:
        lire_ligne = f.readline()
except IOError as e:
    print(f'Erreur d'entrée/sortie: {e}')

La sérialisation avec des modules tels que Pickle et JSON offre une méthode souple pour sauvegarder des objets Python dans des fichiers et les récupérer par la suite. Utiliser le format JSON est particulièrement pratique pour stocker des données de manière lisible et interopérable.

Toujours viser à écrire un code propre et lisible en suivant le PEPS 8, à utiliser des fonctions et variables descriptives, et à documenter votre code pour faciliter la maintenance et les mises à jour. Utiliser des fonctions telles que fonction print pour déboguer et valider que le flux de données entrant et sortant du fichier est celui attendu peut s’avérer très utile.

Si le chiffre est supérieur à 2:

Exemples:

  • Ouverture sécurisée d’un fichier JSON en mode lecture:
with open('donnees.json', 'r') as fichier:
    data = json.load(fichier)
  • Écriture de données dans un fichier en mode ajout:
with open('log.txt', 'a') as fichier:
    fichier.write('Nouvelle entrée de journal\n')
Opération Fonction Python Mode recommandé Gestion des erreurs
Lire fichier.read() r (lecture) Bloc try-except
Écrire fichier.write() w (écriture) Utilisation de with
Ajouter fichier.write() a (ajout) Vérification de l’existence du fichier
Contexte Texte (t) Binaire (b)
Fichiers standards Traitement de chaînes Traitement de données brutes
Documents formats Éditions de documents Images, médias
  • Tâches pour la gestion des I/O:
    • [ ] Déterminer le type de fichier (texte ou binaire)
    • [ ] Choisir le mode d’accès approprié
    • [ ] Implémenter un gestionnaire d’erreurs robuste
    • [ ] Utiliser des fonctions d’entrées/sorties spécialisées comme la fonction input pour les saisies utilisateur ou fonction print pour les sorties standard.
"Toujours coder comme si la personne qui allait maintenir votre code était un violent psychopathe qui sait où vous habitez." — Un principe de prudence dans le développement.

Si le chiffre est supérieur à 4:

L’utilisation judicieuse des entrées/sorties en Python s’apparente à tenir les rames d’un bateau avec précision, chaque coup de rame devant être parfaitement coordonné pour avancer sans effort dans le vaste océan des données.