tgoop.com/pyHints/12
Create:
Last Update:
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
