len() طول الكائن
آخر تحديث: 2026-09-22
len() طول الكائن
تُرجع len() طول الكائن (عدد العناصر). تنطبق على السلاسل النصية والقوائم والصفوف والقواميس والمجموعات وغيرها من الكائنات التي تُعرّف __len__.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | all |
📝 الصياغة
len(obj)
⚙️ المعاملات
| obj مطلوب | An object that supports the length protocol (str, list, tuple, dict, set, etc.). |
|---|
القيمة المُعادة:The length (number of items) of the object, a non-negative int.
💥 الاستثناءات
TypeError— Raised when the object does not define __len__.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
5
4
2
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qلماذا يُثير len(مولد) خطأ TypeError؟
Aالمولد لا يملك طولًا (لا يمكن التنبؤ بعدد العناصر التي سينتجها)؛ فقط الحاويات الحقيقية (str/list/dict/set/tuple) وrange تدعم len(). لمعرفة العدد حوّله إلى list() أولًا أو عدّ أثناء التكرار.
Qماذا تُرجع len({'a': 1, 'b': 2})؟
Aتُرجع 2؛ طول القاموس هو عدد المفاتيح.
Qهل يمكن استخدام len() مع الأعداد الصحيحة؟
Aلا، len(123) يُثير TypeError: object of type 'int' has no len()؛ لمعرفة عدد الأرقام حوّله أولًا إلى str(123).
Qهل يمكن لصنف مخصص دعم len()؟
Aنعم، يكفي تنفيذ __len__: داخليًا len(obj) يستدعي obj.__len__().