الدالة repr()‎ في بايثون

من موسوعة حسوب
مراجعة 13:15، 10 يونيو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدّالة repr()‎ سلسلة نصيّة تحتوي على تمثيل قابل للطّباعة للكائن المُعطى.

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

repr(object)

المعاملات

object

الكائن المرغوب الحصول على تمثيله.

القيمة المعادة

في الكثير من الحالات، تُحاول الدّالة إعادة سلسلة نصيّة تُعيد كائنًا بنفس القيمة عند تمريره إلى الدّالة eval()‎، وفي غير ذلك من حالات، يكون التّمثيل سلسلةً نصيّة، ويكون مُضمّنًا داخل قوسي <>‎ يحتوي على اسم نوع الكائن إضافةً إلى معلومات أخرى، وعادةً ما تكون هذه المعلومات اسم الكائن وعنوانه في الذّاكرة.

يُمكن لصنفٍ أن يتحكّم فيما تُعيده الدّالة repr()‎ لنُسخه عبر تعريف التّابع الخاص ‎_‎_‎repr()‎_‎‎_‎‎ (انظر المثال أدناه).


أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:

>>> repr(int) # تمثيل صنف الأعداد الصّحيحة
"<class 'int'>"
>>> class C:
...     def __repr__(self):
...             return '{{{ C }}}' # ما يُعيده هذا التّابع الخاص هو تمثيل كائنات الصّنف
... 
>>> c = C() # إنشاء كائن من الصّنف
>>> repr(c) # تمثيل الكائن
'{{{ C }}}'

انظر أيضًا

مصادر