متد استاتیک در پایتون متدی است که نیازی به شیء (self) ندارد و به کلاس تعلق دارد. متدهای استاتیک برای انجام عملیات مربوط به کلاس به عنوان یک کل و نه بر روی اشیاء آن کلاس استفاده میشوند.
تعریف متد استاتیک:
برای تعریف متد استاتیک از دکوراتور @staticmethod
استفاده میشود.
Python
class Person:
# ویژگیها
name = ""
age = ۰
# متد استاتیک
@staticmethod
def greet():
print("Hello, world!")
Person.greet()
در این مثال، متد greet
یک متد استاتیک است که برای چاپ پیام “Hello, world!” استفاده میشود.
نکات:
- متدهای استاتیک نیازی به this (self) ندارند.
- متدهای استاتیک میتوانند به ویژگیهای کلاس دسترسی داشته باشند و آنها را تغییر دهند.
- متدهای استاتیک نمیتوانند به ویژگیهای اشیاء دسترسی داشته باشند یا آنها را تغییر دهند.
مثال کاربردی:
فرض کنید میخواهیم برنامهای بنویسیم که اطلاعات مربوط به دانشآموزان را ذخیره و مدیریت کند. برای این کار، میتوانیم از متدهای استاتیک برای محاسبه معدل دانشآموزان استفاده کنیم.
Python
class Student:
# ویژگیها
name = ""
grade = ۰
# متد استاتیک
@staticmethod
def calculate_average_grade(grades):
return sum(grades) / len(grades)
# ...
grades = [۱۰, ۱۲, ۱۴, ۱۶, ۱۸]
average_grade = Student.calculate_average_grade(grades)
print(average_grade)
در این مثال، متد calculate_average_grade
یک متد استاتیک است که برای محاسبه معدل دانشآموزان استفاده میشود.