متدها در پایتون
متد در پایتون یک تابع است که به شیء تعلق دارد. متدها برای انجام عملیات بر روی دادههای شیء یا تغییر در حالت شیء استفاده میشوند.
تعریف متد:
برای تعریف متد از کلمه کلیدی def
استفاده میشود.
class Person:
# ویژگیها
name = ""
age = 0
# روشها
def greet(self):
print(f"Hello, my name is {self.name}")
def set_age(self, new_age):
self.age = new_age
person1 = Person()
person1.name = "John Doe"
person1.age = 30
person1.greet()
person1.set_age(25)
print(person1.age)
در این مثال، دو متد به نامهای greet
و set_age
برای کلاس Person
تعریف شده است. متد greet
اطلاعات مربوط به شخص را چاپ میکند و متد set_age
سن شخص را تغییر میدهد.
انواع متدها:
- متدهای مخفی: متدهایی که با دو خط زیر (_) شروع میشوند.
- متدهای کلاس: متدهایی که به کلاس تعلق دارند و نه به اشیاء.
- متدهای استاتیک: متدهایی که نیازی به this (self) ندارند.
مثال کاربردی:
فرض کنید میخواهیم برنامهای بنویسیم که اطلاعات مربوط به دانشآموزان را ذخیره و مدیریت کند. برای این کار، میتوانیم از متدها برای انجام عملیات مختلف بر روی اشیاء دانشآموز استفاده کنیم.
class Student:
# ویژگیها
name = ""
grade = 0
# روشها
def study(self):
print(f"{self.name} is studying")
def take_exam(self):
print(f"{self.name} is taking an exam")
def get_grade(self):
return self.grade
student1 = Student()
student1.name = "John Doe"
student1.grade = 10
student2 = Student()
student2.name = "Jane Doe"
student2.grade = 11
student1.study()
student2.take_exam()
print(student1.get_grade())
print(student2.get_grade())
در این مثال، سه متد به نامهای study
، take_exam
و get_grade
برای کلاس Student
تعریف شده است. متد study
نشان میدهد که دانشآموز در حال درس خواندن است، متد take_exam
نشان میدهد که دانشآموز در حال امتحان دادن است و متد get_grade
نمره دانشآموز را برمیگرداند.
نکات:
- میتوان از آرگومانها در هنگام تعریف متدها استفاده کرد.
- میتوان از متغیرهای محلی در داخل متدها استفاده کرد.
- میتوان از متدهای توکار پایتون در داخل متدها استفاده کرد.
- میتوان از docstring برای توضیح عملکرد متدها استفاده کرد.