افصل التقدير المعلن عن عد العناصر. [1] [2]
الخلاصة السريعة
المثال
from operator import length_hint
class Rows:
def __iter__(self):
return iter(['bud','leaf'])
def __length_hint__(self):
return 9
x=Rows()
print(length_hint(x))
print(sum(1 for _ in x))لماذا اختلف العدد؟
المصدر هنا يسمح بتقدير أكبر أو أصغر من العدد الفعلي. لم نعرف __len__ في فئتنا؛ لذلك يستعمل الاستدعاء التقدير. أما sum فيزيد واحدًا لكل عنصر يصل إليه، فيحسب عنصرين. [1] [2]

الأولوية والنطاق
في فئة مقارنة ترث Rows وتضيف __len__ يعيد 2، تكون نتيجة length_hint هي 2 رغم بقاء التقدير 9. مثالنا قابل للمرور من جديد؛ لا نعمم ذلك على مكرر يستهلك مرة واحدة. [1] [2]
المراجع
- Python 3.12: operator.length_hint
- PEP 424: length hint specification
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
