حلقه‌ی For برای پیمایش دنباله‌ها مانند List, Tuple, Dictionary, Set و رشته‌ استفاده می‌شود.
کلمه‌کلیدی For در پایتون با سایر زبان‌های برنامه‌نویسی متفاوت است و بیشتر شبیه متد iterator در سایر زبان‌های برنامه نویسی Object-Oriented است.
با حلقه‌ی For می‌توانید مجموعه‌ای از عبارات را اجرا کنید.
مثال زیر هر میوه را از لیست fruit چاپ می‌کند.

# Input
fruits = ["apple", "banana", "cherry"]
for x in fruits:
    print(x) 

# Output
apple
banana
cherry

حلقه‌ی For نیاز به یک متغیر برای Index ندارد که از قبل تنظیم شود.

پیمایش String

حتی رشته‌ها هم اشیاء قابل تکرار (iterable) هستند که حاوی دنباله‌ای از کاراکترها می‌باشند.
مثال زیر رشته‌ی banana را حرف به حرف پیمایش می‌کند.

# Input
for x in "banana":
    print(x) 

# Output
b
a
n
a
n
a

دستور Break

با دستور Break می‌توان حلقه را متوقف کرد. قبل از آنکه حلقه، همه‌ی آیتم‌ها را پیمایش کند.
مثال زیر وقتی x برابر با banana باشد حلقه را متوقف می‌کند.

# Input
fruits = ["apple", "banana", "cherry"]
for x in fruits:
    print(x) 
    if x == "banana":
      break

# Output
apple
banana

دستور Continue

با دستور Continue می‌توان تکرار فعلی را متوقف کرد و با آیتم بعدی ادامه داد.
مثال زیر آیتم banana را چاپ نمی‌کند.

# Input
fruits = ["apple", "banana", "cherry"]
for x in fruits:
    if x == "banana":
      continue
    print(x) 

# Output
apple
cherry

تابع range

برای پیمایش مجموعه‌ای از کدها در یک بازه‌ی زمانی مشخص از تابع range استفاده می‌شود.
تابع range یک دنباله از اعداد که به صورت پیش‌فرض از صفر شروع می‌شود و یکی یکی افزایش می‌یابد و با یک عدد مشخص پایان می‌گیرد را برمی‌گرداند.

# Input
for x in range(6):
    print(x) 

# Output
0
1
2
3
4
5

دقت داشته باشید که range(6) مقدارهای ۰ تا ۵ را شامل می‌شود.
تابع range به صورت پیش‌فرض از صفر شروع می‌شود ولی می‌توان مقدار شروع را با اضافه کردن پارامتر، مشخص کرد. به عنوان مثال range(2, 6) مقدارهای ۲ تا ۵ را شامل می‌شود.

# Input
for x in range(2, 6):
    print(x) 

# Output
2
3
4
5

تابع range به صورت پیش‌فرض یکی یکی افزایش می‌یابد اما می‌توان با افزودن پارامتر سوم، مقدار افزایش را مشخص کرد.
مثال زیر دنباله را سه تا سه تا افزایش می‌دهد.

# Input
for x in range(2, 30, 3):
    print(x) 

# Output
2
5
8
11
14
17
20
23
26
29

کلمه‌ی کلیدی Else

Else در حلقه‌ی For یک بلاک کد را پس از اتمام حلقه اجرا می‌کند.
مثال زیر پس از چاپ اعداد ۰ تا ۵ یک پیام دیگر را نیز چاپ می‌کند.

# Input
for x in range(6):
    print(x)
else:
    print("Finally finished!")

# Output
0
1
2
3
4
5
Finally finished!

حلقه‌های تو در تو

یک حلقه‌ی تو در تو، یک حلقه درون حلقه‌ی دیگر است.
حلقه‌ی داخلی یک بار برای هر تکرار حلقه‌ی بیرونی اجرا می‌شود.

# Input
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
    for y in fruits:
      print(x, y)

# Output
red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherry

کلمه‌ی کلیدی Pass

حلقه‌ها نمی‌توانند خالی باشند. اما اگر برای حلقه‌ی ‌‌For دستوری (محتوایی) ندارید می‌توانید با وارد کردن دستور Pass از ایجاد خطا جلوگیری کنید.

# Input
for x in [0, 1, 2]:
    pass

منابع
w3schools.com – Python For Loops
Photo by Pixabay from Pexels

نظر دهید