مفهوم کلاس در پایتون :
کلاس در زبان برنامه نویسی پایتون یک قالب برنامه است که امکان تعریف یک نوع داده جدید را فراهم می کند. یک کلاس می تواند شامل متغیرها (معمولاً نامیده شده به عنوان ویژگی ها یا ویژگی ها) و توابع (معمولاً نامیده شده به عنوان متدها) باشد که برای عملکرد خاصی مرتبط با آن نوع داده استفاده می شوند.
تعریف کلاس به صورت زیر انجام می شود:
“`python
class ClassName:
# properties
# methods
“`
در اینجا “ClassName” نام کلاس است و بلافاصله پس از کلمه کلیدی “class” قرار می گیرد. بلافاصله بعد از نام کلاس، بلافاصله بعد از نوشتن نام کلاس، یک دو نقطه قرار می گیرد.
متغیرهای داخل یک کلاس معمولاً به عنوان ویژگی ها یا ویژگی ها شناخته می شوند. این ویژگی ها می توانند داده های مختلفی مانند اعداد، رشته ها، لیست ها و غیره باشند. برای تعریف یک ویژگی در یک کلاس، باید آن را درون تابع سازنده (که به عنوان `__init__` شناخته می شود) تعریف کنید. تابع سازنده در هنگام ایجاد یک شیء از کلاس فراخوانی می شود و به عنوان پارامترهای ورودی، مقادیر اولیه برای ویژگی ها را می گیرد.
متدها در کلاس ها توابعی هستند که برای انجام عملکردهای خاصی بر روی شیء های کلاس استفاده می شوند. تعریف یک متد در یک کلاس به صورت زیر انجام می شود:
“`python
def methodName(self, parameters):
# method body
“`
در اینجا “methodName” نام متد است و بلافاصله بعد از کلمه کلیدی “def” قرار می گیرد. بعد از نام متد، بلافاصله بعد از آن، یک دو نقطه قرار می گیرد. همچنین، توجه کنید که در تعریف متد، اولین پارامتر باید “self” باشد. این پارامتر به عنوان مرجع به شیء کلاس فعلی عمل می کند.
برای دسترسی به ویژگی ها و متدهای یک کلاس، باید ابتدا یک شیء از کلاس ایجاد کنید و سپس از طریق آن شیء به آنها دسترسی داشته باشید. برای ایجاد یک شیء از کلاس، باید از نام کلاس به عنوان یک تابع استفاده کنید. سپس می توانید به ویژگی ها و متدهای کلاس از طریق نام شیء دسترسی داشته باشید.
به عنوان مثال، فرض کنید یک کلاس به نام “Person” داریم که دو ویژگی “name” و “age” را دارد و دو متد “greet” و “calculate_birth_year” را دارد. می توانیم یک شیء از این کلاس ایجاد کنیم و به ویژگی ها و متدهای آن دسترسی داشته باشیم به صورت زیر:
“`python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(“Hello, my name is ” + self.name)
def calculate_birth_year(self):
current_year = datetime.datetime.now().year
birth_year = current_year – self.age
return birth_year
person1 = Person(“John”, 30)
person1.greet()
birth_year = person1.calculate_birth_year()
print(“I was born in ” + str(birth_year))
“`
در این مثال، ابتدا یک کلاس به نام “Person” تعریف می شود که دو ویژگی “name” و “age” را دارد و دو متد “greet” و “calculate_birth_year” را دارد. سپس یک شیء از این کلاس با نام “person1” ایجاد می شود و ویژگی ها و متدهای آن به صورت زیر استفاده می شوند. نام شیء “person1” است و از طریق آن به ویژگی ها و متدهای کلاس دسترسی داریم. در نهایت، مقدار محاسبه شده توسط متد “calculate_birth_year” چاپ می شود.