الوحدة pprint
في بايثون
تتيح وحدة pprint
إمكانية طباعة بنى البيانات في بايثون بصورة جميلة pretty-print بطريقة تسمح باستخدام هذه البيانات كمدخلات في مفسّر بايثون. وإن تضمنت البنى المنسّقة كائنات ليست من أنواع بايثون الأساسية، فمن الممكن أن يكون تمثيل ذلك الكائن غير قابل للتحميل.
تظهر هذه الحالة عند تضمين كائنات مثل الملفات أو المنافذ sockets أو الأصناف، إلى جانب العديد من الكائنات الأخرى والتي تكون غير قابلة للتمثيل على هيئة حروف في بايثون.
يُبقي التمثيل المنسّق الكائنات في سطر واحد إن كان ذلك ممكنًا، ويقسّمها إلى أسطر متعددة إن لم تلائم العرض المسموح به، ويمكن تعديل هذا المقدار عن طريق إنشاء كائنات PrettyPrinter
.
من الجدير بالذكر أنّ القواميس تُرتَّب حسب المفاتيح قبل إجراء عملية التنسيق.
دوال الوحدة pprint
تقدّم وحدة pprint
الدوال التالية:
الدالة pprint.pformat()
تعيد الدالة التمثيل المنسّق للكائن المعطى على هيئة سلسلة نصية.
الدالة pprint.pprint()
تطبع الدالة التمثيل المنسّق للكائن المعطى في المخرجات المعطاة، متبوعًا بسطر جديد.
الدالة pprint.isreadable()
تحدّد الدالة ما إذا كان التمثيل المنسّق للكائن المعطى "قابلًا للقراءة" أو يمكن استخدامه لإعادة بناء القيمة باستخدام الدالة eval()
.
الدالة pprint.isrecursive()
تحدّد الدالة ما إذا كان الكائن المعطى يتطلب تمثيلًا تعاوديًا.
الدالة pprint.saferepr()
تعيد الدالة تمثيلًا على هيئة سلسلة نصية للكائن المعطى، ومحميًا تجاه بنى البيانات التعاودية.
كائنات PrettyPrinter
تعرّف وحدة pprint
صنفًا واحدًا فقط هو الصنف PrettyPrinter
، وتقدّم نسخ هذا الصنف عددًا من التوابع التي يمكن الاستفادة منها في طباعة المخرجات بصورة منسّقة وجميلة.
التابع PrettyPrinter.pformat()
يعيد التابع التمثيل المنسّق للكائن المعطى.
التابع PrettyPrinter.pprint()
يطبع التابع التمثيل المنسّق للكائن المعطى على المخرجات المحدّدة في الدالة البانية للصنف PrettyPrinter
متبوعًا بسطر جديد.
التابع PrettyPrinter.isreadable()
يحدّد التابع ما إذا كان التمثيل المنسّق للكائن المعطى "قابلًا للقراءة" أو يمكن استخدامه لإعادة بناء القيمة باستخدام الدالة eval()
.
التابع PrettyPrinter.isrecursive()
يحدّد التابع ما إذا كان الكائن المعطى يتطلب تمثيلًا تعاوديًا.
التابع PrettyPrinter.format()
يعيد التابع نسخة للكائن المعطى تكون على هيئة سلسلة نصية، وراية تحدد ما إذا كانت النتيجة قابلة للقراءة وراية أخرى تحدّد ما إذا تمكن التابع من اكتشاف حالة تعاود في النتيجة.