PYHINTS Telegram 12
Python Hints
این کد که احتمالاً بسیار هم می‌بینید و استفاده می‌کنید ۲ تا باگ داره، که ۱ مورد می‌تونه حتی شمارو توی مصاحبه رد کنه می‌تونید باگ‌هارو پیدا کنید ؟ @PyHints
ولی باگ دوم که من حتی توی سورس کد فریمورک‌ها و کتابخانه‌های معروف پایتون هم زیاد دیدم به راحتی میتونه توی مصاحبه‌های اولیه اوضاع رو بر علیه شما بکنه

مشکل باز هم توی این خط هست :

return f"Person(name={self.name!r}, age={self.age!r})"

اگر دقت کنید اسم کلاس hard code شده ینی اگر بعد از مدتی که پروژه بزرگ شد بجای کلاس Person از مثلا Student استفاده بشه و فراموش کنید که
__repr__
رو تغییر بدید؛ بوقت دیباگ کردن کد باعث سردرگمی بزرگی میشه؛
راه حل :
return f"{type(self).__name__}(name={self.name!r}, age={self.age!r})"
که خب
type(self)
میگه که ی instance از کلاس Person هست و وقتی __name__ رو میگیرم دقیقا اسم کلاس رو برمیگردونه ینی Person هر تغییری هم که روی اسم کلاس اعمال بشه هیچ نیازی به تغییر
__repr__
نیست.

توی تصویر این پست هم می‌تونید ببینید :
https://www.tgoop.com/pyHints/7


@PyHints
👍76❤‍🔥6👌321👎1🆒1



tgoop.com/pyHints/12
Create:
Last Update:

ولی باگ دوم که من حتی توی سورس کد فریمورک‌ها و کتابخانه‌های معروف پایتون هم زیاد دیدم به راحتی میتونه توی مصاحبه‌های اولیه اوضاع رو بر علیه شما بکنه

مشکل باز هم توی این خط هست :

return f"Person(name={self.name!r}, age={self.age!r})"

اگر دقت کنید اسم کلاس hard code شده ینی اگر بعد از مدتی که پروژه بزرگ شد بجای کلاس Person از مثلا Student استفاده بشه و فراموش کنید که
__repr__
رو تغییر بدید؛ بوقت دیباگ کردن کد باعث سردرگمی بزرگی میشه؛
راه حل :
return f"{type(self).__name__}(name={self.name!r}, age={self.age!r})"
که خب
type(self)
میگه که ی instance از کلاس Person هست و وقتی __name__ رو میگیرم دقیقا اسم کلاس رو برمیگردونه ینی Person هر تغییری هم که روی اسم کلاس اعمال بشه هیچ نیازی به تغییر

__repr__
نیست.

توی تصویر این پست هم می‌تونید ببینید :
https://www.tgoop.com/pyHints/7


@PyHints

BY Python Hints




Share with your friend now:
tgoop.com/pyHints/12

View MORE
Open in Telegram


Telegram News

Date: |

Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator. Write your hashtags in the language of your target audience. Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether.
from us


Telegram Python Hints
FROM American