الحلقات التكرارية `for` في بايثون:
- سبتمبر 21, 2024
- نشرت من قبل: Mohamed Negm
- الفئة: Developing
1. **مقدمة عن حلقة `for`**:
حلقة `for` تُستخدم لتكرار الكود عبر تسلسل (قد يكون قائمة، أو صف، أو قاموس، أو مجموعة، أو سلسلة نصية).
تعمل حلقة `for` في بايثون بطريقة مشابهة للطرق المستخدمة في لغات البرمجة الكائنية التوجه، وليست مجرد تكرار كما هو الحال في لغات برمجة أخرى.
2. **التكرار عبر تسلسل معين**:
باستخدام حلقة `for`، يمكننا تنفيذ مجموعة من التعليمات لكل عنصر في القائمة أو الصف أو المجموعة.
**مثال**: طباعة كل فاكهة في قائمة الفواكه:
“`python
fruits = [“apple”, “banana”, “cherry”]
for x in fruits:
print(x)
“`
لا تحتاج حلقة `for` إلى متغير للفهرسة يتم تحديده مسبقًا كما في لغات البرمجة الأخرى.
3. **التكرار عبر سلسلة نصية**:
حتى السلاسل النصية تعتبر كائنات قابلة للتكرار، حيث تحتوي على تسلسل من الأحرف.
**مثال**: التكرار عبر حروف كلمة “banana”:
“`python
for x in “banana”:
print(x)
“`
4. **جملة `break`**:
تُستخدم جملة `break` لإنهاء الحلقة قبل أن تنتهي من تكرار جميع العناصر.
**مثال**: إنهاء الحلقة عند الوصول إلى كلمة “banana”:
“`python
fruits = [“apple”, “banana”, “cherry”]
for x in fruits:
print(x)
if x == “banana”:
break
“`
5. **استخدام `break` قبل الطباعة**:
يمكن وضع جملة `break` قبل الأمر `print` بحيث لا يتم طباعة العنصر الذي تحقق فيه الشرط.
**مثال**:
“`python
fruits = [“apple”, “banana”, “cherry”]
for x in fruits:
if x == “banana”:
break
print(x)
“`
6. **جملة `continue`**:
تُستخدم جملة `continue` لتجاوز التكرار الحالي والانتقال إلى التكرار التالي.
**مثال**: عدم طباعة كلمة “banana”:
“`python
fruits = [“apple”, “banana”, “cherry”]
for x in fruits:
if x == “banana”:
continue
print(x)
“`
7. **دالة `range()`**:
لتكرار الكود عددًا محددًا من المرات، يمكننا استخدام دالة `range()`، التي تُرجع تسلسلًا من الأرقام.
**مثال**: التكرار باستخدام `range(6)`:
“`python
for x in range(6):
print(x)
“`
ملاحظة: `range(6)` تُرجع القيم من 0 إلى 5 وليس من 0 إلى 6.
8. **تحديد البداية في `range()`**:
يمكنك تحديد قيمة البداية لدالة `range()` بإضافة معاملين.
**مثال**: التكرار من 2 إلى 5:
“`python
for x in range(2, 6):
print(x)
“`
9. **تحديد الزيادة في `range()`**:
يمكنك أيضًا تحديد قيمة الزيادة باستخدام معامل ثالث في دالة `range()`.
**مثال**: التكرار بزيادة 3:
“`python
for x in range(2, 30, 3):
print(x)
“`
10. **جملة `else` في الحلقة التكرارية**:
يمكن استخدام جملة `else` بعد حلقة `for` لتنفيذ كود عند انتهاء الحلقة بشكل طبيعي.
**مثال**: طباعة جميع الأرقام من 0 إلى 5، ثم طباعة رسالة عند الانتهاء:
“`python
for x in range(6):
print(x)
else:
print(“Finally finished!”)
“`
ملاحظة: كتلة `else` لن تُنفذ إذا تم إنهاء الحلقة باستخدام `break`.
11. **الحلقات المتداخلة**:
الحلقات المتداخلة هي عبارة عن حلقة داخل حلقة أخرى. يتم تنفيذ الحلقة الداخلية مرة واحدة لكل تكرار للحلقة الخارجية.
**مثال**: طباعة كل صفة مع كل نوع من الفاكهة:
“`python
adj = [“red”, “big”, “tasty”]
fruits = [“apple”, “banana”, “cherry”]
for x in adj:
for y in fruits:
print(x, y)
“`
12. **جملة `pass`**:
في حال كانت الحلقة فارغة لسبب ما، يمكن استخدام جملة `pass` لتجنب حدوث خطأ.
**مثال**:
“`python
for x in [0, 1, 2]:
pass
“`