حلقههای for
یک حلقه for
برای تکرار در یک دنباله (که یا یک لیست، یک تاپل، یک دیکشنری، یک مجموعه یا یک رشتهاست) استفاده میشود.[۱]
این حلقه شباهت زیادی به کلمه کلیدی for
در زبانهای برنامه نویسی دیگر نیست، و بیشتر شبیه یک متد iterator در زبانهای برنامه نویسی شیء گرا عمل میکند.
با حلقه for
میتوانیم مجموعه ای از عبارات را یکبار برای هر آیتم داخل لیست، تاپل، مجموعه و غیره اجرا کنیم.
مثال
هر fruit را داخل یک لیست fruit چاپ کنید:
1 fruits = ["apple", "banana", "cherry"]
2 for x in fruits:
3 print(x)
حلقه for
به متغیر اندیس نیاز برای تنظیم از پیش نیاز ندارد.
پیمایش در یک رشته
حتی رشتهها هم اشیاء iterable (قابل تکرار) هستند، آنها شامل یک دنباله از کاراکترها هستند:
مثال
در کلمه “banana” بین رشتهها پیمایش میکند (حلقه میزند):
1 for x in "banana":
2 print(x)
عبارت break
با عبارت break
میتوانیم پیش از اینکه حلقه در بین همهٔ آیتمها پیمایش کند، آن را متوقف کنیم:
مثال
وقتی x
برابر “banana” شد از حلقه خارج میشود:
1 fruits = ["apple", "banana", "cherry"]
2 for x in fruits:
3 print(x)
4 if x == "banana":
5 break
مثال
وقتی x
برابر “banana” شد از حلقه خارج میشود، اما این بار break پیش از print میآید:
1 fruits = ["apple", "banana", "cherry"]
2 for x in fruits:
3 if x == "banana":
4 break
5 print(x)
عبارت continue
با عبارت continue
میتوانیم تکرار فعلی حلقه را متوقف و تکرار بعدی را ادامه دهیم:
مثال
Banana را چاپ نمیکند:
1 fruits = ["apple", "banana", "cherry"]
2 for x in fruits:
3 if x == "banana":
4 continue
5 print(x)
تابع range()
برای پیمایش در بین مجموعه ای از کد به تعداد دفعات مشخص، میتوانیم از تابع range()
استفاده کنیم،
تابع range()
دنباله ای از اعداد را برمیگرداند، که بطور پیش فرض از ۰ شروع میشود، و هربار به اندازه یکی اضافه میشود (بطور پیش فرض) و تا یک عدد مشخصی خاتمه مییابد.
مثال
استفاده از تابع range():
1 for x in range(6):
2 print(x)
دقت کنید که range(6)
مقدارهای ۰ تا ۶ نیست بلکه مقدارهای ۰ تا ۵ است.
پیش فرض تابع range()
برای مقدار شروع ۰ است، با این حال تعیین مقدار شروع با اضافه کردن یک پارامتر ممکن است: range(2, 6)
که یعنی مقدارهای ۲ تا ۶ (اما ۶ را شامل نمیشود):
مثال
استفاده از پارامتر شروع:
1 for x in range(2, 6):
2 print(x)
پیش فرض تابع range()
افزایش دنباله به میزان ۱ است، با این حال تعیین مقدار افزایش با اضافه کردن پارامتر سوم امکانپذیر است: range(2, 30, 3)
مثال
افزایش دنباله به میزان ۳ (پیش فرض ۱ است):
1 for x in range(2, 30, 3):
2 print(x)
Else در حلقه For
کلمه کلیدی else
در حلقه for
بلوکی از کد را پس از اتمام حلقه برای اجرا تعیین میکند:
مثال
همهٔ اعداد از ۰ تا ۵ را چاپ میکند و هنگامی که حلقه تمام شود پیامی را چاپ میکند:
1 for x in range(6):
2 print(x)
3 else:
4 print("Finally finished!")
حلقه های تو در تو
حلقه تودرتو حلقه ای داخل حلقهٔ دیگر است.
«حلقه داخلی» به ازاء هر تکرار «حلقه خارجی» یکبار اجرا میشود:
مثال
هر صفت را برای همهٔ میوهها چاپ میکند:
1 adj = ["red", "big", "tasty"]
2 fruits = ["apple", "banana", "cherry"]
3
4 for x in adj:
5 for y in fruits:
6 print(x, y)
عبارت pass
حلقههای for
نمیتوانند خالی باشند، اما اگر به هر دلیلی یک حلقه for
بدون محتوا داشتید، عبارت pass
را برای جلوگیری از ایجاد خطا قرار دهید.
مثال
1 for x in [0, 1, 2]:
2 pass
منابع آموزشی