الصنف pprint.PrettyPrinter‎ في بايثون

من موسوعة حسوب
< Python‏ | pprint(بالتحويل من Python/PrettyPrinter)
اذهب إلى التنقل اذهب إلى البحث


الصنف الوحيد الذي تقدمه الوحدة pprint وتقدّم نسخ هذا الصنف عددًا من التوابع التي يمكن الاستفادة منها في طباعة المخرجات بصورة منسّقة وجميلة.

البنية العامة

pprint.PrettyPrinter(indent=1, width=80, depth=None, stream=None, *, compact=False)

المعاملات

indent

يُحدّد مقدار الإزاحة المضافة لكل مستوى تعاودي عن طريق المعامل indent الذي يأخذ القيمة 1 كقيمة افتراضية. قد تظهر المخرجات بمظهر غريب أحيانًا عند استخدام قيم أخرى لهذا المعامل، ولكن يمكن بسهولة تمييز النتائج المتشعّبة.

width

تحدّد قيمة هذا المعامل مقدار العرض المسموح به للمخرجات، والقيمة الافتراضية هي 80 حرفًا، وإن لم يكن بالإمكان تنسيق بنية من بنى البيانات ضمن هذا المقدار، فسيحاول الكائن عرض المخرجات بأفضل صورة ممكنة.

depth

يمكن التحكم في عدد المستويات التي يمكن طباعتها بواسطة هذا المعامل. إن كانت بنية البيانات المراد طباعتها عميقة جدًّا، فإنّ المستوى التالي لها سيُستبدل بنقاط (...). ليس هناك قيود -بصورة افتراضية- تحدّد عمق الكائنات التي يجري تنسيقها.

stream

يمكن تعيين دفق المخرجات باستخدام الكلمة المفتاحية stream، والتابع write()‎ الخاصّ ببروتوكول الملفات هو التابع الوحيد الذي يُطبَّق كائن stream. وإن لم تعيّن أي قيمة لهذا المعامل فإنّ كائن PrettyPrinter سيعتمد sys.stdout كبديل.

compact

إن أخذ هذا المعامل القيمة False (وهي القيمة الافتراضية) فإنّ كل عنصر من عناصر تسلسل طويل سيُنسّق في سطر منفرد. أما إن أخذ القيمة True فسُينسّق العدد الذي يلائم العرض الملائم والمحدّد بواسطة المعامل width في كل سطر من أسطر المخرجات.

ملاحظة: أضيف هذا المعامل في الإصدار 3.4 من اللغة.

توابع كائنات PrettyPrinter

 التابع PrettyPrinter.pformat()‎

يعيد التابع التمثيل المنسّق للكائن المعطى.

التابع PrettyPrinter.pprint()‎

يطبع التابع التمثيل المنسّق للكائن المعطى على المخرجات المحدّدة في الدالة البانية للصنف PrettyPrinter متبوعًا بسطر جديد.

التابع PrettyPrinter.isreadable()‎

يحدّد التابع ما إذا كان التمثيل المنسّق للكائن المعطى "قابلًا للقراءة" أو يمكن استخدامه لإعادة بناء القيمة باستخدام الدالة eval()‎.

التابع PrettyPrinter.isrecursive()‎

يحدّد التابع ما إذا كان الكائن المعطى يتطلب تمثيلًا تعاوديًا.

التابع PrettyPrinter.format()‎

يعيد التابع نسخة للكائن المعطى تكون على هيئة سلسلة نصية، وراية تحدد ما إذا كانت النتيجة قابلة للقراءة وراية أخرى تحدّد ما إذا تمكن التابع من اكتشاف حالة تعاود في النتيجة.

انظر أيضًا

  • الوحدة pprint في بايثون: تتيح الوحدة إمكانية طباعة بنى البيانات في بايثون بصورة جميلة pretty-print.

مصادر