دریافت نام کلاس یک شیء
Getting the class name of an instance
من توی پایتون میخوام نام کلاسی که یک شیء بهش تعلق داره رو به دست بیارم. مثلاً اگه یه شیء از کلاس MyClass داشته باشم، چطور میتونم نام کلاس (یعنی MyClass) رو به دست بیارم؟
برای به دست آوردن نام کلاس یک شیء توی پایتون، میتونی از خاصیت __class__ استفاده کنی و بعد نام کلاس رو از طریق خاصیت __name__ بگیری. این کد بهت نشون میده چطور این کار رو انجام بدی:
class_name = instance.__class__.__name__ print(class_name)
توی این کد، instance همون شیء مورد نظرته. __class__ به خود کلاس اشاره میکنه و __name__ نام اون کلاس رو برمیگردونه.
یه روش دیگه هم وجود داره که استفاده از تابع type() هست. این روش به جای استفاده از __class__، نوع شیء رو مستقیم از طریق type() برمیگردونه و میتونی به همون شکل نام کلاس رو دریافت کنی:
class_name = type(instance).__name__ print(class_name)
هر دو روش دقیقاً یه نتیجه رو برمیگردونن و تفاوتی توی خروجی ندارن، اما استفاده از type() بهعنوان یه راهحل تمیزتر و رایجتر شناخته میشه. این روش در کدهایی که نیاز به خوانایی بیشتر دارن، بیشتر استفاده میشه.
بنابراین، اگه بخوای یه روش کلی و کاربردی داشته باشی که هم واضح باشه و هم عملکرد درستی داشته باشه، همون روش type(instance).__name__ رو پیشنهاد میکنم.