انواع تابع کلاس در پایتون
در پایتون کلاس ها انواع تابع دارند و هرکدام کاربرد خاص خودش رو داره و اونهارو باهم مرور میکنیم:
متدهای نمونه (Instance Methods):
- این نوع متدها بر روی نمونههای یک کلاس اعمال میشوند و معمولاً به خود نمونه به عنوان اولین آرگومان self دسترسی دارند.
- فرض کنید یک کلاس Bank account داریم که دارای ویژگیهایی مانند (موجودی) است. اگر بخواهیم یک متد برای واریز پول داشته باشیم، این متد باید به موجودی همان حساب خاص دسترسی داشته باشد.پس ازین متد در اینجا استفاده میکنیم
متدهای کلاس (Class Methods):
این نوع متدها بر روی خود کلاس اعمال میشوند و به جای self از cls به عنوان اولین آرگومان استفاده میکنند. برای تعریف این متدها از دکوریتور @classmethod استفاده میشود.
فرض کنید میخواهیم تعداد کل حسابهای بانکی که ایجاد شدهاند را نگه داریم و یک متد برای دریافت این تعداد داشته باشیم.
متدهای ایستا (Static Methods):
- این نوع متدها به هیچ نمونه یا کلاس خاصی مرتبط نیستند و نیازی به self یا cls ندارند. برای تعریف این متدها از دکوریتور @staticmethod استفاده میشود.
فرض کنید میخواهیم یک متد برای تبدیل ارز داشته باشیم که به ویژگیهای خاصی از کلاس یا نمونهها نیاز ندارد.
متدهای خاص (Special Methods):
- این متدها به متدهای جادویی (magic methods) یا dunder methods (دو آندرلاین) نیز شناخته میشوند و برای تعریف رفتارهای خاص مثل مقداردهی اولیه، نمایش، و عملیاتهای ریاضی استفاده میشوند. مثلاً __str__,__init__,__add__
__init__: این متد برای مقداردهی اولیه به ویژگیهای مالک و توازن استفاده میشود.__str__: این متد برای ارائه نمایش متنی دوستانه از شیء استفاده میشود، مثلاً وقتی از پرینت حساب استفاده میکنید.__repr__: این متد نیز برای نمایش متنی رسمیتر از شیء استفاده میشود که معمولاً برای توسعهدهندگان مفید است.__add__: این متد برای جمع دو حساب بانکی استفاده میشود، به طوری که مالکین و موجودیهای آنها با هم جمع میشوند.
هر یک از این انواع متدها کاربرد و موارد استفاده خاص خود را دارند
باکیفیت ترین دوره آموزش برنامه نویسی چیست ؟
⭐⭐⭐⭐⭐ دوره ی آموزش دوازده قدم برنامه نویسی مهندس سام نیک زاد با کسب امتیاز بالاترین کیفیت دوره ی آموزشی بعنوان با کیفیت دوره انتخاب شده است برای مشاهده کلیک کنید
ثبت نام دوره با تخفیف از ویرگول
مطلبی دیگر از این انتشارات
برنامه نویسی از کجا شروع کنم؟
مطلبی دیگر از این انتشارات
مقاله "اهمیت و شیوه های جمع آوری داده و آنالیز داده ها با استفاده از پایتون اصول دقیق و تکنیک های پردازش اطلاعات و بهره برداری"
مطلبی دیگر از این انتشارات
برنامهنویسی به سبک سامورایی: ژاپنیها چگونه پایدارترین نرمافزارهای دنیا را میسازند؟