repr() تمثيل الكائن القابل للطباعة

آخر تحديث: 2026-09-22

repr() تمثيل الكائن القابل للطباعة

يُرجع repr() التمثيل النصي «الرسمي» للكائن: من المثالي أن يمكن تمريره إلى eval() لإعادة بناء ذلك الكائن.

التصنيفالدوال المدمجة
النوعدالة مدمجة
إصدار بايثونall

📝 الصياغة

repr(object)

⚙️ المعاملات

object مطلوبThe object to represent.

القيمة المُعادة:A string representation of the object; ideally eval()-reconstructible, more debugging-oriented than str().

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

datetime.datetime(2026, 1, 1, 0, 0)
'hello'
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qما الفرق بين repr() و str()؟
Astr() صيغة صديقة للبشر (التي يستخدمها print افتراضيًا)؛ repr() «التمثيل الرسمي» الموجه للمطور ويهدف إلى إمكانية إعادة البناء عبر eval(). مثلًا repr('a') هي "'a'" (بعلامات اقتباس) بينما str('a') هي a.
Qلماذا تظهر عناصر السلسلة بعلامات اقتباس عند طباعة قائمة؟
Aلأن print يستخدم repr() لعناصر الحاويات: print(['a']) يعرض فعليًا الصيغة repr لـ ["'a'"]، مما يسهل تمييز أنواع العناصر.
Qهل يمكن لـ repr إعادة إنشاء كائن فعلًا؟
Aغالبًا نعم للأنواع المدمجة — eval(repr(x)) يستعيدها؛ الأصناف المخصصة يجب أن تنفّذ __repr__ بنفسها ليكون ذا معنى، وإلا يعرض افتراضيًا عنوان ذاكرة الكائن.
Qكيف أستخدم repr في f-string؟
Aاستخدم علم التحويل: f'{x!r}' يعادل repr(x)؛ عند تصحيح الأخطاء يُدمج غالبًا مع !r لفحص البنية الحقيقية للكائن.
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%