💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ محمدرضا مجیدی
سوال در مورد جلسه آخر
جامعه پایتون (وب) ایجاد شده در ۱۰ شهریور ۱۴۰۰

سلام  دوستان من در مورد این قسمت یکم برام نامفهومه

۱- برنامه چه موقع متد get_report و  show all  رو صدا میزنه آیا خط ۳۳ همون کار رو انجام میده

۲- چرا خط ۳۷ استاد آ باز دوباره None رو get میکنه

۳- متد choice  در خط ۳۸ کجا هستش

4-در موردobject list چرا خط 25 و در فایل sample کلاس count  باز تکرار شده آیا اطلاعات کامل rent و sell هستند باید نشون بده

تشکر

سلااااااااااااااااااااام محمد رضا جان

جواب ۱) کاربر تو خط 32 یه مقداری وارد میکنه و تو متغیر user_input ذخیره اش میکنیم. تو دیکشنری self.SWITCHES با کلید user_input میگردیم اگر بود مقدارش رو بهمون برمیگردونه و تو متغیر switch ذخیره اش میکنیم، که رشته get_report یا show_all هست. بعد از ابجکت self با استفاده از متغیر switch متد get_report یا show_all که رو میگیریم و تو متغیر choice ذخیره اش میکنیم، که یه متد callable هست و میتونیم صداش بزنیم. و تو خط 38 متد  get_report یا show_all رو صدا میزنیم.

 

جواب ۲) خط 37 استاد متدی که اسمش داخل متغیر switch هست رو از ابجکت self داره میگیره و میخواد اگر اون متد وجود نداشت None بگرده. که اینجا فرقی نداره که این کار رو بکنیم یا نه. میشه هم خط 37 رو اینطور نوشت:

choice = getattr(self, switch)

 

جواب ۳) تو جواب ۱ گفتم که choice یه متغیر هست که با کارهایی که تو خط‌های قبلی انجام دادیم الان متد get_report یا show_all داخلش هست. یعنی مثلا این میمونه که بنویسیم:

choice = self.get_report
choice()
# or
choice = self.show_all
choice

 

جواب ۴) منظورت رو نفهمیدم. لطفا شفاف بگو.

 

محمدعلی رضا ۱۶ شهریور ۱۴۰۰، ۱۱:۰۴