Class Method and Static Method در پایتون :
در زبان برنامهنویسی پایتون، دو نوع تابع به نام Class Method و Static Method وجود دارند که از توابع مرتبط با کلاس هستند. این دو نوع تابع امکان اجرای عملیات مشترک بین تمامی اشیاء یک کلاس را فراهم میکنند.
تابع Class Method در پایتون، یک تابع استاتیک است که به یک متغیر کلاسی دسترسی دارد و میتواند تغییراتی در آن ایجاد کند. برای تعریف این نوع تابع، از تمامی اشیاء یک کلاس استفاده نمیشود، بلکه از خود کلاس استفاده میشود. برای تعریف یک تابع Class Method، از تمامی دستورالعملهایی که برای تعریف تابع معمولی استفاده میشود استفاده میشود، با این تفاوت که قبل از تعریف تابع، کلمه کلیدی @classmethod را قرار میدهیم. برای دسترسی به متغیرهای کلاس درون یک تابع Class Method، از متغیر cls استفاده میشود. به عنوان مثال:
“`python
class MyClass:
class_variable = 10
@classmethod
def class_method(cls):
cls.class_variable = 20
“`
در مثال بالا، تابع class_method تعریف شده است که با استفاده از متغیر cls، متغیر class_variable را از 10 به 20 تغییر میدهد.
تابع Static Method در پایتون، یک تابع مستقل است که به هیچ یک از متغیرها و توابع کلاسی دسترسی ندارد و برای استفاده از آن، نیازی به ایجاد شیء از کلاس نیست. برای تعریف یک تابع Static Method، از تمامی دستورالعملهایی که برای تعریف تابع معمولی استفاده میشود استفاده میشود، با این تفاوت که قبل از تعریف تابع، کلمه کلیدی @staticmethod را قرار میدهیم. به عنوان مثال:
“`python
class MyClass:
@staticmethod
def static_method():
print(“This is a static method”)
“`
در مثال بالا، تابع static_method تعریف شده است که یک پیام را چاپ میکند.
استفاده از توابع Class Method و Static Method در پایتون، به برنامهنویس کمک میکند تا کد را بهتر سازماندهی کند و قابلیت دوبارهپذیری و قابلیت تغییر دادن را بهبود ببخشد. همچنین، استفاده از این نوع توابع میتواند بهبود عملکرد برنامه را نیز به همراه داشته باشد.