آموزش پایتون Python قسمت بیست و یکم

سلام. امیدوارم حالتون خوب باشه و همیشه واسه یادگیری و برنامه نویسی انرژی داشته باشین.

جواب تمرین جلسه ی قبل رو در این جلسه نمیدم، چون خیلی ها برنامه فرستادن و برنامشون ایراد داشت و وقت خواستن تا خودشون ایرادشون رو پیدا کنند.
در جلسه ی بعد جواب رو میدم.
در این جلسه بالاخره حلقه for رو یاد میگیریم !

خوب در حلقه while ما یک شرط داشتیم و هر زمان شرط برقرار نبود چرخش حلقه ما تموم میشد، در حلقه for اصلا به این شکل نیست.
حلقه for میتونه تمام اشیایی رو که داخل کلاسشون متد __next__  یا __iter__ رو دارن، پیمایش کنه. در واقع در بطن کار این حلقه از شئ مورد نظرمون یه شئ قابل پیمایش یا iterable میسازه.
هی شئ که قابل پیمایش باشه متد __next__ رو در کلاسش داره و هر شئ هم که متد __next__ رو نداشت ولی متد __iter__ رو داشت میتونه به iterable یا یه شئ قابل پیمایش تبدیل بشه.
متد __next__ چه ربطی به حلقه for داره؟
واسه جواب به این سوال اول باید ببینیم اصلا این متد چیکار میکنه؟

متد __next__


خوب حلقه for از شئ ما یه شئ قابل پیمایش میسازه و تا زمان وقوع این خطا ()next رو صدا میزنه، و هر زمان این خطا رخ داد، بدون نشون دادنش به کاربر، حلقه خاتمه پیدا میکنه.

 خط اول حلقه :
for VARAIBLE in OBJECT:
       در اینجا VARAIBLE در هر دور از حلقه نسبت دهی میشه به خروجی که ()next بهش میده، و OBJECT شئ هست که داریم پیمایش میکنیم.
مثال بالا رو با حلقه for میزنیم:
 

مثال بالا با حلقه for

همونطور که دیدید در اینجا char در هر دور از حلقه تبدیل شد به خرورجی که در مثال قبل ()next بهمون میداد !

در حلقه for مثل حلقه while نیازه به شرط و شروط نداریم !

حلقه for میتونه به جز رشته ها روی list ها و چندتایی ها و دیکشنری ها هم کار کنه:
 

حلقه for روی لیست ها رشته ها چندتایی ها و دیکشنری کار می کند

همچنین مثل حلقه while میتونید از دستور های break و continue هم داخل حلقه  for استفاده کنید:
 

استفاده از break و continue برای for

خوب وقت این رسیده هر چیزیو که با حلقه while تمرین کردین رو سعی کنید با حلقه for هم بنویسیدش که بتونید بهتر یادش بگیرید.
حلقه for اینجا تموم نمیشه و در جلسات بعد ادامش رو میگم، یاد گرفتن این قسمت برای ورود به قسمت های بعد الزامیه، فعلا خدا نگهدار.

 

برای درج نظر و یا طرح سوالات خود لطفا در سایت ثبت نام کنید و یا وارد سایت شوید

نظرات کاربران

4 سال پیش

z.m

سلام. بقيه ي جلسات را از کجا مي شود ديد؟

برای این مطلب تاکنون نظری ارسال نشده است. شما اولین نفر باشید