À propos de Pprint
Le module Pprint peut être utilisé pour améliorer l'apparence et la sensation et la mise en forme de la sortie standard imprimée à l'aide de Python dans un terminal. En formatant la sortie, vous pouvez améliorer sa lisibilité et même l'exporter vers un fichier externe pour stocker la sortie mieux structurée. L'utilisation du module Pprint peut être mieux comprise à travers des exemples, certains d'entre eux sont répertoriés ci-dessous.
Syntaxe de base de la méthode Pprint
Jetez un œil à l'échantillon de code ci-dessous:
à partir de l'imprimée PprintL'exemple ci-dessus illustre l'utilisation des méthodes imprimées et pprints. La première ligne importe la méthode Pprint à partir du module Pprint. La variable «D» est un objet de type dictionnaire avec des paires de valeurs clés. Ensuite, la méthode Pprint est appelée et l'objet à imprimer lui est fourni comme argument (dictionnaire Python dans ce cas).
Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
'A': 1, 'B': 2, 'C': 3, 'D': 4Les méthodes d'impression et de TPRINT produisent la même sortie qu'aucune mise en forme n'a été appliquée à la sortie. Les exemples à venir montreront l'application de la mise en forme à la sortie.
Convertir une sortie de ligne unique en sortie multiligne en utilisant pprint
Pour convertir une sortie de ligne unique en sortie multiligne, vous devrez fournir la variable «largeur» comme argument en méthode pprint. Jetez un œil à l'échantillon de code ci-dessous:
à partir de l'imprimée PprintL'échantillon de code est le même que l'exemple indiqué ci-dessus, avec un nouvel argument appelé «largeur» ayant une valeur de 1. La valeur de largeur peut être utilisée pour spécifier le nombre maximum de caractères autorisés sur une seule ligne. Par défaut, cette valeur est de 80. Si les objets / éléments imbriqués d'un objet dépassent les contraintes de largeur, elles sont déplacées vers une nouvelle ligne. Puisqu'il y a une contrainte de seulement 1 caractère, chaque élément sera déplacé vers une nouvelle ligne en utilisant la meilleure approche identifiée par Python pour que l'objet soit imprimé. Cette approche garantit que chaque élément a une ligne complète afin qu'elle soit lisible et non cassée ou tronquée en mots partiels.
Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
'a': 1,Ajout de l'indentation à la sortie multilin à l'aide de pprint
Si vous avez une chaîne multiligne ou si vous avez cassé une seule sortie de ligne à la sortie multiline en utilisant la méthode expliquée ci-dessus, vous pouvez utiliser l'argument «indent» pour ajouter l'espacement avant chaque objet de la sortie. Jetez un œil à l'échantillon de code ci-dessous:
à partir de l'imprimée PprintL'échantillon de code est le même que l'exemple expliqué ci-dessus. Cependant, un nouvel argument appelé «retrait» avec une valeur de 4 a été ajouté. Cela ajoutera une indentation égale à 4 espaces avant chaque objet.
Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
'a': 1,Notez que l'argument «indent» n'aura aucun effet sur les sorties de ligne unique.
Limiter la sortie imprimée à certains niveaux
Si l'objet que vous imprimez contient des objets imbriqués, vous pouvez utiliser l'argument «profondeur» pour limiter la sortie à certains niveaux. Jetez un œil à l'échantillon de code ci-dessous:
à partir de l'imprimée PprintDans l'exemple ci-dessus, les données sont imprimées jusqu'à un niveau de profondeur de 1. En d'autres termes, seuls des objets qui ne contiennent pas d'autres objets imbriqués sont imprimés. La liste «[4, 5]» a un niveau de profondeur de 2 et ne sera pas imprimé. Pour indiquer qu'il est caché, trois points ou ellipses sont utilisés.
Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
'A': 1, 'B': 2, 'C': 3, 'D': […]Voici un autre exemple où une profondeur de 2 niveaux est utilisée. Le premier élément imbriqué apparaît dans la sortie mais le second ne.
à partir de l'imprimée PprintAprès avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
'A': 1, 'B': 2, 'C': 3, 'D': [4, […]]Obtenir une jolie sortie imprimée en tant que valeur de retour
Si vous souhaitez utiliser la sortie assez imprimée dans d'autres fonctions Python ou l'attribuer à une variable, vous pouvez utiliser la méthode «PFORMAT». Il est identique à la méthode Pprint, sauf qu'il n'imprime rien mais renvoie une chaîne formatée. Jetez un œil à l'échantillon de code ci-dessous:
à partir de pformat d'importation pprintAu lieu de Pprint, maintenant PFORMAT a été importé du module Pprint. La variable «joli» stocke la chaîne formatée afin qu'elle puisse être utilisée plus tard dans le code. La dernière instruction imprime la sortie de la jolie variable.
Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
'A': 1, 'B': 2, 'C': 3, 'D': [4, […]]Utilisation du module JSON pour imprimer un dictionnaire Python
Si vous souhaitez imprimer un dictionnaire Python dans une structure de type JSON bien en retrait, le module Pprint pourrait ne pas être suffisant. Dans un tel cas, la méthode «Dumps» du module JSON produit un bien meilleur résultat. Jetez un œil à l'échantillon de code ci-dessous:
à partir de l'imprimée PprintEn plus de la méthode Pprint, la méthode «Dumps» du module JSON a maintenant été importée dans l'échantillon de code. Un argument appelé «retrait» avec une valeur de 4 a été fourni à la méthode des décharges.
Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:
'a': 1,Comme vous pouvez le voir dans la sortie, la méthode des vidages produit un meilleur dictionnaire Python formaté.
Conclusion
Le module Pretty Print ou Pprint peut être utilisé pour produire une sortie bien formatée dans Python. La sortie standard de nombreux objets Python peut ne pas être exactement lisible, surtout lorsque les données sont grandes et ont beaucoup d'objets imbriqués. Dans de tels cas, vous pouvez utiliser Pprint pour améliorer la lisibilité et la mise en forme de la sortie.