البرمجة

دليل استخدام حلقة for في بايثون

كيفية إنشاء حلقات تكرار for في بايثون 3

تعد الحلقات التكرارية من الأساسيات التي يعتمد عليها معظم المبرمجين في تنفيذ العديد من المهام البرمجية بشكل فعال. في لغة بايثون 3، تأتي الحلقات التكرارية، مثل حلقة for، لتسهيل تكرار الإجراءات أو العمليات على مجموعة من البيانات بطريقة منظمة وسهلة الفهم. سنتناول في هذا المقال كيفية استخدام وإنشاء حلقات for في بايثون 3 بشكل مفصل مع الأمثلة العملية التي تساهم في فهم آلية عمل هذه الحلقات.

ما هي حلقة for في بايثون؟

حلقات for هي إحدى الأساليب التي تستخدم لتكرار الكود على مجموعة من البيانات مثل القوائم أو السلاسل النصية أو النطاقات أو حتى العناصر التي توفرها الدوال أو المجموعات الأخرى. يتم استخدام حلقة for لتنفيذ نفس الكود بشكل متكرر على العناصر داخل هذه المجموعة حتى يتم التكرار عبر جميع العناصر.

الاختلاف الأساسي بين حلقة for في بايثون وغيرها من لغات البرمجة هو أن بايثون توفر بشكل افتراضي طريقة مرنة وبسيطة لتنفيذ الحلقات التكرارية.

تركيب حلقة for في بايثون

التركيب الأساسي لحلقة for في بايثون يتبع الصيغة التالية:

python
for item in sequence: # execute some code
  • item: هو المتغير الذي سيتغير في كل مرة يتم فيها تكرار الحلقة، ويأخذ قيمة من مجموعة البيانات.

  • sequence: هي مجموعة البيانات التي تحتوي على العناصر التي نريد تكرار الكود عليها. قد تكون هذه المجموعة قائمة، سلسلة نصية، مجموعة، أو أي نوع آخر من البيانات القابلة للتكرار.

استخدام حلقة for مع القوائم

تعتبر القوائم من أكثر الهياكل المستخدمة في بايثون، حيث يمكن تخزين مجموعة من البيانات داخلها. ويمكن استخدام حلقة for للتكرار عبر جميع العناصر في القائمة كما يلي:

python
fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)

في المثال السابق، ستقوم حلقة for بتكرار طباعة كل عنصر من عناصر القائمة fruits، مما يعطي الناتج التالي:

nginx
apple banana cherry

استخدام حلقة for مع السلاسل النصية

يمكنك أيضًا استخدام حلقة for للتكرار عبر الأحرف الفردية في سلسلة نصية. إليك مثالًا على كيفية القيام بذلك:

python
word = "Python" for letter in word: print(letter)

الناتج في هذا المثال سيكون:

css
P y t h o n

استخدام حلقة for مع النطاقات range

أحد الاستخدامات الشائعة لحلقات for هو التكرار عبر النطاقات باستخدام دالة range. توفر دالة range سلسلة من الأعداد تبدأ من قيمة معينة وتنتهي عند قيمة معينة أخرى. إذا أردنا إنشاء حلقة for للتكرار عبر نطاق من الأرقام، يمكننا استخدام دالة range كما يلي:

python
for i in range(5): print(i)

الناتج سيكون:

0 1 2 3 4

في هذا المثال، range(5) تقوم بتوليد الأرقام من 0 إلى 4. إذا أردنا تحديد بداية ونهاية نطاق الأرقام، يمكننا توفير قيم البداية والنهاية كما يلي:

python
for i in range(2, 10): print(i)

الناتج سيكون:

2 3 4 5 6 7 8 9

استخدام خطوة معينة في range

يمكنك أيضًا تحديد خطوة معينة في range باستخدام المعامل الثالث. هذا يسمح لك بالتكرار عبر الأعداد بزيادة معينة. على سبيل المثال:

python
for i in range(0, 10, 2): print(i)

الناتج سيكون:

0 2 4 6 8

هنا، range(0, 10, 2) يعني أننا نبدأ من 0، نتوقف قبل 10، ونتحرك بمقدار 2 في كل مرة.

تكرار التكرارات داخل الحلقات

في بعض الأحيان، قد تحتاج إلى تكرار عمليات متعددة داخل حلقة for. هذا يمكن أن يتم بسهولة باستخدام الحلقات المتداخلة. على سبيل المثال، إذا كان لديك قائمة من القوائم وتريد التكرار عبر كل قائمة داخلها، يمكنك استخدام حلقة for متداخلة:

python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for row in matrix: for element in row: print(element)

الناتج سيكون:

1 2 3 4 5 6 7 8 9

هنا، يتم التكرار عبر كل صف من المصفوفة (قائمة القوائم)، ثم عبر كل عنصر داخل هذا الصف.

استخدام for مع القواميس (Dictionaries)

القواميس هي هياكل بيانات في بايثون تتكون من مفاتيح وقيم. يمكنك استخدام حلقة for للتكرار عبر القاموس بحيث يتم الوصول إلى المفاتيح أو القيم أو كليهما.

لتكرار المفاتيح:

python
person = {"name": "Alice", "age": 25, "city": "New York"} for key in person: print(key)

الناتج سيكون:

nginx
name age city

لتكرار القيم:

python
for value in person.values(): print(value)

الناتج سيكون:

sql
Alice 25 New York

لتكرار كل من المفاتيح والقيم معًا:

python
for key, value in person.items(): print(key, value)

الناتج سيكون:

pgsql
name Alice age 25 city New York

إيقاف الحلقة باستخدام break و continue

في بايثون، يمكن استخدام break لإيقاف الحلقة في أي وقت إذا تم استيفاء شرط معين. بينما يمكن استخدام continue لتخطي الدورة الحالية والانتقال مباشرة إلى التكرار التالي. إليك مثالًا يوضح كلا من break و continue:

python
for i in range(10): if i == 5: break # يوقف الحلقة عند الوصول إلى الرقم 5 print(i)

الناتج سيكون:

0 1 2 3 4

أما مع استخدام continue:

python
for i in range(10): if i == 5: continue # يتخطى الرقم 5 print(i)

الناتج سيكون:

0 1 2 3 4 6 7 8 9

استخدام حلقة for مع الاستثناءات try-except

قد تحتاج في بعض الأحيان إلى التعامل مع الأخطاء أثناء التكرار عبر مجموعة من البيانات. يمكن استخدام جملة try-except للتعامل مع الاستثناءات التي قد تحدث أثناء تنفيذ الحلقة.

python
data = [1, 2, "three", 4, 5] for item in data: try: print(item + 1) except TypeError: print(f"Cannot add 1 to {item}")

الناتج سيكون:

pgsql
2 3 Cannot add 1 to three 5 6

الختام

تعد الحلقات التكرارية من العناصر الأساسية في أي لغة برمجة، وتمثل حلقات for في بايثون أداة قوية وسهلة الاستخدام. من خلال فهم كيفية استخدام هذه الحلقات بشكل صحيح، يمكن للمبرمجين تحسين الكفاءة والأداء في معالجة البيانات وتنفيذ العديد من المهام البرمجية.