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 لفحص البنية الحقيقية للكائن.