توقف العرض لا يعني زوال الدورة. [1] [2]
الخلاصة السريعة
لا؛ يستعمل نصًا بديلًا عند الاستدعاء المتكرر، ويبقى الرابط في مثالنا. [1] [2]
المثال
from reprlib import recursive_repr
class Node:
@recursive_repr(fillvalue='<loop>')
def __repr__(self):
return 'Node('+repr(self.link)+')'
n=Node()
n.link=n
print(repr(n))
print(n.link is n)العرض والرابط
المصدر هنا يتتبع الكائن أثناء العرض. عند عودة الاستدعاء إليه يعيد النص البديل، ثم يزيل علامة التنفيذ عند الخروج. لا يكتب في link. يظهر Node(<loop>)؛ ويبقى n.link is n صحيحًا. [1] [2]

النطاق
نتحقق من كائننا ودالته فقط. لا نجعل هذا تسلسلًا يعيد بناء الكائن، ولا نفترض أن كل دالة __repr__ خالية من الآثار. لا نختبر خيوطًا متزامنة أو تغيير حد العودية. [1] [2]
المراجع
- Python 3.12: recursive_repr
- CPython 3.12.14: reprlib.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
