اول راجب خود
__repr__
بگم برای دوستان تازهکار، در صورتیکه وجود نداشته باشه توی خط 11 و بعد از اجرای کد چیزی که برای شما توی کنسول نمایش داده میشه آدرس حافظه اون object هست مثلاً:
که خب اصلا چیز خوبی نیست، به لطف
__repr__
شما میتونید خروجی بهتری داشته باشید مثلاً توی این تصویر خروجی بصورت زیر هست :
Person(name=Mo Abbasi, age=60)
حالا بریم سراغ باگها؛ باگ اول که خب سادهتر هست :
نحوه نمایش پارامترهای ورودی هست که مشخص نیست از چه تایپی هست و شما نمیتونید با کپی کردن خروجی یک object جدید بسازید که خب خود __repr__ رو میبره زیر سوال
Mo Abbasi
استرینگ نیست اینجا.
پس برای رفع این باگ کاری که باید بکنید استفاده از :
!r
هست ینی خط 7 میشه:
return f"Person(name={self.name!r}, age={self.age!r})"
اگر تا به حال اینطوری تعریف نمیکردید، تعریف __repr__ شما طبق استاندارد نبوده.
@PyHints
__repr__
بگم برای دوستان تازهکار، در صورتیکه وجود نداشته باشه توی خط 11 و بعد از اجرای کد چیزی که برای شما توی کنسول نمایش داده میشه آدرس حافظه اون object هست مثلاً:
که خب اصلا چیز خوبی نیست، به لطف
__repr__
شما میتونید خروجی بهتری داشته باشید مثلاً توی این تصویر خروجی بصورت زیر هست :
Person(name=Mo Abbasi, age=60)
حالا بریم سراغ باگها؛ باگ اول که خب سادهتر هست :
نحوه نمایش پارامترهای ورودی هست که مشخص نیست از چه تایپی هست و شما نمیتونید با کپی کردن خروجی یک object جدید بسازید که خب خود __repr__ رو میبره زیر سوال
Mo Abbasi
استرینگ نیست اینجا.
پس برای رفع این باگ کاری که باید بکنید استفاده از :
!r
هست ینی خط 7 میشه:
return f"Person(name={self.name!r}, age={self.age!r})"
اگر تا به حال اینطوری تعریف نمیکردید، تعریف __repr__ شما طبق استاندارد نبوده.
@PyHints