Python – کلاس‌ها (Classes)

کلاس‌ها و اشیاء در پایتون

پایتون یک زبان برنامه‌نویسی شیءگرا است که در آن تقریباً همه چیز یک شیء است، با ویژگی‌ها و متدهای خود.

کلاس در پایتون به عنوان یک نقشه (Blueprint) برای ایجاد اشیاء عمل می‌کند.

ایجاد یک کلاس

برای ایجاد یک کلاس از کلمه کلیدی class استفاده می‌کنید:

مثال:

ایجاد یک کلاس به نام MyClass با یک ویژگی x:

class MyClass:
  x = 5

ایجاد شیء

اکنون می‌توان از کلاس MyClass برای ایجاد اشیاء استفاده کرد.

مثال:

ایجاد یک شیء به نام p1 و چاپ مقدار x:

p1 = MyClass()
print(p1.x)  # Output: 5

تابع __init__()

همه کلاس‌ها یک تابع خاص به نام __init__() دارند که به‌طور خودکار هنگام ایجاد یک شیء اجرا می‌شود. از این تابع برای مقداردهی به ویژگی‌ها استفاده می‌شود.

مثال:

ایجاد کلاس Person که نام و سن را مقداردهی می‌کند:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)
print(p1.name)  # Output: John
print(p1.age)   # Output: 36

تابع __str__()

تابع __str__() کنترل می‌کند که چه چیزی هنگام تبدیل یک شیء به رشته نمایش داده شود. اگر این تابع تعریف نشود، رشته پیش‌فرض نمایش داده می‌شود.

مثال:

نمایش شیء بدون تابع __str__():

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)
print(p1)  # Output: <__main__.Person object at 0x...>

نمایش شیء با تابع __str__():

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def __str__(self):
    return f"{self.name}({self.age})"

p1 = Person("John", 36)
print(p1)  # Output: John(36)

متدهای شیء

اشیاء همچنین می‌توانند شامل متد باشند که توابعی هستند که به شیء تعلق دارند.

مثال:

افزودن یک متد برای چاپ پیامی:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

p1 = Person("John", 36)
p1.myfunc()  # Output: Hello my name is John

پارامتر self

پارامتر self به نمونه فعلی کلاس اشاره دارد و برای دسترسی به متغیرهای متعلق به کلاس استفاده می‌شود. می‌توانید آن را به هر نام دیگری تغییر دهید، اما باید اولین پارامتر هر متد کلاس باشد.

مثال:

استفاده از کلمات دیگری به‌جای self:

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("John", 36)
p1.myfunc()  # Output: Hello my name is John

تغییر ویژگی‌های شیء

می‌توانید ویژگی‌های یک شیء را تغییر دهید.

مثال:

تغییر سن شیء p1 به 40:

p1.age = 40

حذف ویژگی‌های شیء

می‌توانید با استفاده از کلمه کلیدی del یک ویژگی از شیء حذف کنید.

مثال:

حذف ویژگی age از شیء p1:

del p1.age

حذف شیء

می‌توانید یک شیء را با استفاده از کلمه کلیدی del حذف کنید.

مثال:

حذف شیء p1:

del p1

دستور pass

اگر به هر دلیلی یک کلاس بدون محتوای خاص تعریف کردید، از دستور pass استفاده کنید تا از خطا جلوگیری شود.

مثال:

class Person:
  pass

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - رویدادها (Events)

JavaScript – رویدادها (Events)

رویدادهای HTML رویدادها در HTML، “اتفاقاتی” هستند که برای عناصر HTML رخ می‌دهند. این اتفاقات می‌توانند ناشی از کار...

بیشتر بخوانید
JavaScript - سازنده‌های شیء (Object Constructors)

JavaScript – سازنده‌های شیء (Object Constructors)

ساخت آبجکت با تابع سازنده (Object Constructor Function) برای ساخت چندین آبجکت مشابه، از تابع سازنده استفاده می‌شود. این...

بیشتر بخوانید
JavaScript - نمایش شیء (Object Display)

JavaScript – نمایش شیء (Object Display)

نحوه نمایش آبجکت‌ها در جاوااسکریپت هنگام نمایش یک آبجکت جاوااسکریپت به صورت مستقیم، خروجی معمولاً به شکل [object Object]...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.