آموزش کلاس و Object در پایتون

آبجکت در پایتون

  • پایتون یک زبان برنامه نویسی شی گرا است.

  • تقریباً همه چیز در پایتون یک شی (یا آبجکت)، با خواص و متدهای خودش است.

  • یک کلاس در واقع یک سازنده شی و یک "طرح" برای ایجاد آن است.

ایجاد یک کلاس

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

مثال

یک کلاس به نام MyClass با خصوصیتی به نام x ایجاد کنید:

class MyClass:
  x = 5

ایجاد شی یا Object

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

مثال

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

p1 = MyClass()
print(p1.x)

تابع __init__()

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

برای درک بهتر معنای کلاس ها باید تابع __init__() را درک کنیم.

همه کلاس ها دارای یک تابع داخلی به نام __init__() هستند که هنگام ایجاد یک شی، اجرا می‌شود.

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

مثال

یک کلاس به نام Person ایجاد کنید، از تابع __init__() برای تخصیص نام و سن استفاده کنید:

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

p1 = Person("John", 36)

print(p1.name)
print(p1.age)

توجه: هر بار که از کلاس برای ایجاد یک شی جدید استفاده می شود، تابع __init__() به طور خودکار فراخوانی می شود.

تابع __str__()

تابع __str__() تعیین می‌کند وقتی شی به عنوان یک رشته قرار است نمایش داده شود، چه مقداری برگردانده شود.

اگر تابع __str__() تعریف نشده باشد، یک نمایش رشته ای از شی موردنظر توسط خود پایتون تولید می شود:

مثال (بدون تابع __str__())

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

p1 = Person("John", 36)

print(p1)

مثال (با تابع __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)

متد های آبجکت

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

مثال

تابعی تعریف کنید که یک تبریک چاپ می کند:

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()

نکته: پارامتر self یک مرجع و رفرنس به آبجکت فعلی از کلاس است و برای دسترسی به متغیرهایی که متعلق به آن هستند استفاده می شود.

پارامتر 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()

تغییر مقدار ویژگی ها

شما می توانید خصوصیات یک شی را به صورت زیر تغییر دهید:

مثال

p1.age = 40

حذف ویژگی ها

با استفاده از کلیدواژه del می توانید خصوصیات اشیاء را حذف کنید:

مثال

del p1.age

حذف شی

همچنین با استفاده از کلیدواژه del می توانید خود اشیاء را نیز حذف کنید:

مثال

del p1

دستور pass

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

مثال

class Person:
  pass
مجموعهآموزش پایتون از صفر(23 پست)
1.پایتون چیست؟ مقدمه پایتون1 سال قبل2.برنامه نویسی پایتون را چطور شروع کنیم؟1 سال قبل3.آموزش سینتکس (نحوه نوشتن) پایتون1 سال قبل4.آموزش متغیرهای پایتون1 سال قبل5.آموزش انواع داده در پایتون1 سال قبل6.آموزش اعداد در پایتون1 سال قبل7.آموزش Casting (تبدیل نوع داده) در پایتون1 سال قبل8.آموزش رشته در پایتون1 سال قبل9.آموزش بولین یا Boolean در پایتون1 سال قبل10.آموزش عملگرهای پایتون1 سال قبل11.آموزش لیست در پایتون1 سال قبل12.آموزش تاپل یا چندتایی در پایتون12 ماه قبل13.آموزش Set یا مجموعه در پایتون10 ماه قبل14.آموزش نوع داده دیکشنری در پایتون10 ماه قبل15.آموزش شرط if ... else در پایتون10 ماه قبل16.آموزش حلقه while در پایتون10 ماه قبل17.آموزش حلقه for در پایتون10 ماه قبل18.آموزش توابع در پایتون10 ماه قبل19.آموزش توابع Lambda (لامبدا) در پایتون10 ماه قبل20.آموزش آرایه در پایتون10 ماه قبل21.آموزش کلاس و Object در پایتون10 ماه قبل22.آموزش ارث بری یا وراثت در پایتون10 ماه قبل23.آموزش تکرارگر یا iterator در پایتون10 ماه قبل
منتشر شده در رسانیکا، پلتفرم اشتراک‌گذاری محتوا
پایتونیست
ثبت‌شده توسط:
کامنت ها