آموزش کاربردی حلقه for در پایتون و نکات استفاده از آن در پروژه ها
در این مقاله از سایت تک تیپ قصد داریم تا به صورت کامل حلقه for در پایتون را آموزش دهیم و تمام نکات کلیدی استفاده از آن را بازگو نماییم.
ابتدا در مورد حلقه فور صحبت کرده و سپس حلقه for در پایتون را به شما آموزش می دهیم. با این حال اگر شما حلقه while را یادگرفتید شاید دیگر نیازی به حلقه for نخواهید داشت زیرا حلقه for یک نوع خاصی از حلقه while می باشد. با این حال برای اینکه برنامه نویسی خود را تکمیل کنید بهتر است این آموزش را نیز پشت سر بگذارید.
برای اینکه بهتر با این حلقه آشنا شوید بهتر است به صورت مقدماتی با برنامه نویسی و اصول آن آشنا باشید برای این منظور در زیر یکی از بهترین آموزش های رایگان موجود در اینترنت که به صورت حرفه ای و اصول این مباحث را آموزش می دهد ، معرفی می کنیم.
حلقه For چیست ؟
for loop یک دستور جریان کنترل برای تعریف تکرار است که به شما امکان می دهد کد را به طور مکرر اجرا کنید. for loop از دو بخش تشکیل شده است: یک هدر که تکرار را تعریف می کند و یک بدنه که یک بار در هر تکرار اجرا می شود. هدر اغلب یک حلقه شمارنده یا متغیر حلقه صریح را اعلام می کند که به بدنه اجازه می دهد بفهمد کدام تکرار در حال انجام است. حلقه های For معمولاً زمانی استفاده میشوند که تعداد تکرارها قبل از ورود به حلقه مشخص باشد. حلقه های for را می توان به عنوان حلقه های اختصاری برای while در نظر گرفت که متغیر حلقه را افزایش و آزمایش میکنند.
حلقه for به شما این امکان را می دهد که مجموعه خاصی از شرایط را بارها و بارها اجرا کنید تا زمانی که شرط برآورده شود. موقعیتی را تصور کنید که باید اعداد ۱ تا ۱۰۰ را چاپ کنید. چه کار می کنید؟ آیا دستور printf را صد بار تایپ می کنید یا سعی می کنید آن را کپی/پیست کنید؟ این کار ساده برای همیشه طول خواهد کشید. با استفاده از یک حلقه for می توانید این کار را در سه عبارت انجام دهید. این ابتدایی ترین مثال از یک حلقه for است. همچنین می تواند در بسیاری از سناریوهای پیشرفته بسته به بیان مشکل استفاده شود.
حلقه for برای چندین بار تکرار یک قطعه کد شناخته شده استفاده می شود. به عبارت بهتر حلقه for یک روش کوتاه از حلقه while است
از کاربر بخواهید یک عدد از پیش تعیین شده بین ۱ تا ۱۰۰ را حدس بزند.” شما هیچ راهی ندارید که بدانید این کاربر چند حدس می زند.
“به طور تصادفی در یک آرایه مقدار داده شده جستجو کنید.” شما هیچ راهی ندارید که بدانید برای یافتن ارزش واقعی چند تلاش لازم است. حلقه for در پایتون نیز به همین شکل است و به منظور کاهش تعداد خط های کد نویسی مورد استفاده می گیرد.
چرا از حلقه For استفاده می کنیم ؟
مانند همه حلقه ها ، “for حلقه” بلوک های کد را بارها و بارها اجرا می کنند.
مزیت حلقه for این است که ما دقیقاً می دانیم قبل از شروع حلقه چند بار اجرا می شود.
در زیر سینتکس for loop در چندین زبان آورده شده است. توجه داشته باشید که چگونه هر زبان “معناشناسی” for loop (معنا) را دریافت می کند ، اما هر کدام نحوی کمی متفاوت دارند. متغیر “i” زیر همیشه به عنوان شمارنده حلقه استفاده می شود. متغیرهای start_value ، by_count و finish_value عدد هستند. برای هر زبان یک کد مثال برای جمع اعداد از ۱ تا ۱۰ وجود دارد.
در ساختار کنترل for ، حلقه ای که به طور معمول کار می کند دارای چهار ویژگی است. آن ها عبارتند از:
- فلگ اولیه
- بیان تست
- یک یا چند عمل
- به روز رسانی فلگ
مقداردهی اولیه فلگ از نظر فنی بخشی از ساختار کنترل while نیست ، اما معمولاً بخشی از ساختار کنترل for است.
حلقه FOR در زبان های برنامه نویسی
حلقه For در بسیاری از زبان های برنامه نویسی ، به ویژه C و C ++ استفاده می شود و از کلمه انگلیسی “for” برای نشان دادن هدف یک شی یا عمل ، در این مورد ، هدف و جزئیات تکرار استفاده می شود.
حلقههای For معمولاً زمانی استفاده می شوند که تعداد تکرارها مشخص باشد یا از قبل مشخص شده باشد. برای حلقه ها در زبان های مختلف عمدتاً با توجه به نحوه عملکرد عبارات و همچنین سطح عبارت پشتیبانی شده در دسته های مختلف قرار می گیرند.
در بسیاری از زبان های برنامه نویسی ، حلقه for صرفاً برای شمارش استفاده می شود. یعنی عمل چرخه را در زمان شمارش معکوس تکرار می کند. یک مقدار شروع و یک مقدار پایان وجود دارد. سوالی که حلقه را هدایت می کند یک عبارت آزمایشی است که مقدار شروع را با مقدار توقف مقایسه می کند. این عبارت یک عبارت بولی است و معمولاً از عملگرهای رابطه ای یا کمتر (برای شمارش معکوس) یا بیشتر (برای شمارش عادی) استفاده می کند. اصطلاح چرخه از حرکت دایره ای یک چرخه می آید که هنگام استفاده از نمودار بلوکی رخ می دهد. شکل اصلی for loop (شمارش بالا) به این صورت است:
for
initialization of the starting value
starting value is less than the stopping value
some statements or action
some statements or action
some statements or action
increment the starting value
شاید بهترین راه برای درک حلقه for در پایتون این باشد که بفهمیم حلقه while مانند یک حلقه شمارش عمل می کند. بیایید در نظر بگیریم؛
initialization of the starting value
while the starting value is less than the stopping value
some statements or action
some statements or action
some statements or action
increment the starting value
پیش از شروع یادگیری حلقه for در پایتون بهتر است شی گرایی را نیز یاد بگیرید تا بهتر و راحت تر حلقه for را بیاموزید ، در زیر یکی از بهترین اموزش های شی گرایی با پایتون که توسط فرادرس ارائه شده است را قرار دادیم که می توانید از آن استفاده نمایید.
حلقه for در پایتون
حلقه for در پایتون برای تکرار بر روی یک دنباله (فهرست ، تاپل ، رشته) یا سایر اشیاء قابل تکرار استفاده می شود. به تکرار روی یک دنباله پیمایش می گویند. حلقه for در پایتون به شکل زیر است :
for <var> in <iterable>:
<statement(s)>
در اینجا val متغیری است که در هر تکرار مقدار عنصر درون دنباله را می گیرد.حلقه ادامه می یابد تا زمانی که به آخرین مورد در دنباله برسیم.
<iterable> مجموعه ای از اشیاء است – به عنوان مثال ، یک یا چند لیست. <statement (s)> در بدنه حلقه مانند تمام ساختارهای کنترل پایتون با تورفتگی نشان داده می شود و برای هر آیتم یک بار در <iterable> اجرا می شود. متغیر حلقه <var> هر بار از طریق حلقه مقدار عنصر بعدی را در <iterable> می گیرد. به مثال زیر توجه کنید :
>> a = [‘foo’, ‘bar’, ‘baz’]
>>> for i in a:
… print(i)
…
foo
bar
baz
در این مثال، <iterable> لیست a و <var> متغیر i است. هر بار که از طریق حلقه ، یک آیتم متوالی در a می گیرم ، بنابراین print () به ترتیب مقادیر ‘foo’ ، ‘bar’ و ‘baz’ را نمایش می دهد. حلقه for loop مانند این روش پایتونیک برای پردازش موارد در یک تکرار است.
تابع range() در حلقه for در پایتون
در بخش اول این آموزش ، یک نوع for loop به نام حلقه عددی را مشاهده کردید که در آن مقادیر شروع و پایان عددی مشخص شده است. اگرچه این شکل از for loop مستقیماً در پایتون تعبیه نشده است ، اما به راحتی قابل دسترسی است.
به عنوان مثال ، اگر می خواهید مقادیر ۰ تا ۴ را تکرار کنید ، می توانید به سادگی این کار را انجام دهید:
>> for n in (0, 1, 2, 3, 4):
… print(n)
…
۰
۱
۲
۳
۴
این راه حل زمانی که فقط چند عدد وجود دارد ، خیلی بد نیست. اما اگر محدوده اعداد خیلی بزرگتر بود ، خیلی زود خسته کننده می شد.
خوشبختانه ، پایتون گزینه بهتری را ارائه می دهد – تابع range() که یک تکراری را برمی گرداند که دنباله ای از اعداد صحیح است.
range(<end>) یک شیء تکرارپذیر را برمی گرداند که اعداد صحیح را از ۰ شروع می کند و تا <end> ادامه دارد ولی آن را شامل نمی شود.
>> x = range(5)
>>> x
range(0, 5)
>>> type(x)
<class ‘range’>
توجه داشته باشید که range() یک شی از محدوده کلاس را برمی گرداند ، نه یک لیست یا چند عدد از مقادیر. از آنجا که اشیاء محدوده قابل تکرار هستند ، می توانید مقدار را با استفاده از حلقه for در پایتون دریافت کنید
حلقه for در پایتون با Else
یکی از بلوک های اختیاری حلقه for در پایتون ، عبارت else است که اگر موارد در دنباله استفاده شده در for loop تمام شود ، قسمت else اجرا می شود. اما یک استثنا دارد که آن هم استقاده از Break می باشد.
زمانی که از کلمه کلیدی break در حلقه for استفاده شود ، for loop متوقف خواهد شد. در این صورت قسمت else نیز نادیده گرفته می شود. به مثال زیر توجه کنید:
digits = [0, 1, 5]
for i in digits:
print(i)
else:
print(“No items left.”)
هنگام اجرای برنامه ، خروجی به صورت زیر خواهد بود.
۰
۱
۵
No items left.
در اینجا ، for لیست را تا زمانی که حلقه تمام شود چاپ می کند. وقتی حلقه for تمام شد ، یک بلوک کد را در else اجرا می کند : No items left
این دستور else را می توان با کلمه کلیدی break برای اجرای بلوک else فقط زمانی که کلمه کلیدی break اجرا نمی شود استفاده کرد. بیایید یک مثال بزنیم:
# program to display student’s marks from record
student_name = ‘Soyuj’marks = {‘James’: ۹۰, ‘Jules’: ۵۵, ‘Arthur’: ۷۷}
for student in marks:
if student == student_name:
print(marks[student])
break
else:
print(‘No entry with that name found.’)
که خروجی آن به صورت زیر نمایش داده خواهد شد :
No entry with that name found.
نتیجه گیری
حلقه for در پایتون یکی از روش های استفاده از شمارشگر در کدنویسی به شمار می رود که نوعی خاصی از حلقه while به شمار میرود. پس اگر حلقه while را یاد داشته باشید به راحتی می توانید آن را درک کنید.
برای اینکه بهتر با این بحث آشنا شوید پیشنهاد می کنیم آموزش های ویدیویی فرادرس که برای پایتون تولید کرده است را مشاهده کنید. برای دسترسی به این آموزش های می توانید از لینک زیر استفاده نمایید.