حلقهی 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