iter() الحصول على مُكرِّر
آخر تحديث: 2026-09-22
iter() الحصول على مُكرِّر
تُرجع iter(obj) مُكرِّر obj؛ وتُرجع iter(callable, sentinel) مُكرِّرًا يستدعي callable مرارًا حتى يُرجع sentinel.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | all |
📝 الصياغة
iter(object[, sentinel])
⚙️ المعاملات
| object مطلوب | An iterable; must be callable when sentinel is given. |
|---|---|
| sentinel اختياري | Sentinel: the callable is repeatedly called until it returns this value.(القيمة الافتراضية:None) |
القيمة المُعادة:An iterator: obj's iterator, or a callable-driven iterator in the two-arg form.
💥 الاستثناءات
TypeError— Raised when object is not iterable and no sentinel is given.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
1 2
🏷️ دوال مدمجة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qما العلاقة بين iter() و next()؟
Aiter(obj) يحصل على المكرر، وnext(it) يسحب العناصر واحدًا واحدًا؛ داخليًا حلقة for عبارة عن تركيبة iter() + next().
Qلماذا الصيغة بوسيطتين iter(func, sentinel)؟
Aتستدعي func مرارًا حتى تُرجع sentinel فتتوقف، مثل iter(lambda: input(), 'quit')، مناسبة لسيناريوهات «القراءة حتى علامة النهاية».
Qما الكائنات التي يمكن تمريرها إلى iter()؟
Aالكائنات التي تنفذ __iter__ (list و dict و str و set وغيرها) أو بروتوكول التسلسل __getitem__؛ تمرير كائن عادي مثل عدد صحيح يُثير TypeError.
Qهل iter() كسول؟
Aنعم، تُنشئ iter() المكرر فقط دون القيام بعبور فعلي؛ لا تُسحب القيم إلا عند next() أو حلقة for.