range() تسلسل أعداد صحيحة
آخر تحديث: 2026-09-22
range() تسلسل أعداد صحيحة
يُرجع range(stop) أو range(start, stop[, step]) كائن تسلسل أعداد صحيحة غير قابل للتغيير. يُستخدم غالبًا مع حلقة for.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | all |
📝 الصياغة
range(stop)
range(start, stop[, step])
⚙️ المعاملات
| stop مطلوب | The end value (exclusive); required. |
|---|---|
| start اختياري | The start value (inclusive); defaults to 0.(القيمة الافتراضية:0) |
| step اختياري | The step; defaults to 1; must not be 0.(القيمة الافتراضية:1) |
القيمة المُعادة:An immutable range object of integers; iterable, sized, and indexable.
💥 الاستثناءات
TypeError— Raised when an argument is not an integer (or lacks __index__).ValueError— Raised when step is 0.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
[0, 1, 2, 3, 4]
[1, 3, 5, 7, 9]
🏷️ دوال مدمجة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qلماذا list(range(5)) هي [0,1,2,3,4] ولا تصل إلى 5؟
Arange فترة نصف مفتوحة — stop غير مُضمّن؛ للحصول على 1-5 استخدم range(1, 6).
Qماذا يولّد range(1, 10, 2)؟
Aيولّد 1, 3, 5, 7, 9. step هو الخطوة؛ تمرير step صفر يُثير ValueError: range() arg 3 must not be zero.
Qهل range قائمة؟ هل تستهلك ذاكرة كبيرة؟
Aليست قائمة، بل كائن تسلسلي كسول يخزن القيم الثلاث start/stop/step فقط، فـ range(10**9) بالكاد يستهلك ذاكرة؛ ومع ذلك يدعم len() والفهرسة وعامل in.
Qكيف أعبر بالاتجاه العكسي؟
Aاستخدم خطوة سالبة: range(10, 0, -1) يولّد من 10 إلى 1، وrange(4, -1, -1) يولّد من 4 إلى 0.