کلاس و شی (Class/Object) در پایتون (Python)

کلاس و شی (Class/Object) در پایتون (Python)

زمان مطالعه

5 دقیقه

تعداد بازدید

146

تعداد پرسش ها

0

افزودن به لیست علاقه مندی ها


برچسب ها :


اشتراک گذاری این مطلب
سامان محمدپور
در مورد نویسنده : موفقیت بستگی به تلاش هر شخص داره، هممون ب همون اندازه که تلاش کردیم موفق شدیم.

کلاس و شی (Class/Object) در پایتون (Python)

کلاس و شی (Class/Object) در پایتون (Python)

زمان مطالعه

5 دقیقه

تعداد بازدید

146

تعداد پرسش ها

0

افزودن به لیست علاقه مندی ها


برچسب ها :


اشتراک گذاری این مطلب

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

هر چیزی در پایتون تقریبا یک شی با تعدادی مشخصه (Property) و متد (Method) است.

یک Class مانند سازنده شی یا "طرح اصلی" برای ایجاد اشیاء دیگر است.

ایجاد یک Class

برای ایجاد یک Class از کلمه کلیدی Class استفاده می کنیم.

مثال: در این مثال یک Class با نام MyClass با ویژگی با نام X ایجاد می کنیم.

 

class MyClass:
  x = 5

 

ایجاد یک Class در پایتون (Python)

 

ایجاد یک Object

بعد از تعریف Class می توانیم از نام Class برای ایجاد Object استفاده کنیم.

مثال: در این مثال یک Object با نام P1 از کلاس MyClass ایجاد می کند و مقدار x را چاپ می کند.

 

p1 = MyClass()
print(p1.x)

 

ایجاد یک Object در پایتون (Python)

 

تابع ()__init__

مثال های بالا که در مورد ایجاد Class ها و Object ها زده شد ساده ترین نوع آن ها هستند و در برنامه های واقعی کاربرد آن چنانی نخواهند داشت.

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

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

از تابع ()__init__ برای اختصاص دادن مقدار به خصوصیت یک Object و یا سایر کارهایی که هنگام ایجاد Object ضروری است استفاده می کنیم.

مثال: در این مثال یک Class با نام Person ایجاد می کنیم و از تابع ()__init__ برای اختصاص دادن مقادیر برای خصوصیات name و age استفاده می کنیم.

 

 class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
p1 = Person("John", 36)
print(p1.name)
print(p1.age)

 

تابع ()__init__ در پایتون (Python)

 

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

متد های Object

Objects می توانند شامل متدهایی باشند.

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

مثال: بیایید یک متد در کلاس Person ایجاد کنیم.

در این مثال یک تابع ایجاد می کنیم که کلمه “hello” را چاپ کند و آن را روی Object ایجاد شده 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()

 

متد های Object در پایتون (Python)

 

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

پارامتر self

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

لازم نیست که نام آن حتما خود self باشد، شما می توانید هر نامی که به دلخواه شما است برای نام گذاری آن استفاده کنید اما باید حتما اولین پارامتر از هر تابع در کلاس باشد.

مثال: در این مثال به جای کلمه self از کلمات mysillyobject و abc استفاده کرده ایم.

 

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

 

پارامتر self در پایتون (Python)

 

تغییر خصوصیات Objects

می توانید خصوصیات یک Object را مانند مثال زیر تغییر دهید.

مثال: در این مثال سن P1 را بر روی 40 تنظیم کنید.

 

p1.age = 40

 

تغییر خصوصیات Objects در پایتون (Python)

 

حذف ویژگی های یک Object

با استفاده از کلمه کلیدی del می توانید خصوصیات در Objects را حذف کنید.

مثال: در این مثال ویژگی age را از شی P1 حذف می کنیم.

 

del p1.age

 

حذف ویژگی های یک Object در پایتون (Python)

 

در این مثال به دلیل اینکه ویژگی age را حذف کردیم، موقع چاپ با خطا مواجه می شویم.

حذف یک Object

با کلمه کلیدی del می توانید Objects را نیز حذف کنید.

مثال: در این مثال شی P1 را حذف کرده ایم.

 

del p1

 

حذف یک Object در پایتون (Python)

 

دستور pass در کلاس ها

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

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

 

class Person:
  pass

 

دستور pass در کلاس ها در پایتون (Python)

 

خب در این مقاله به طور مفصل اشیاء و کلاس ها را برای شما شرح دادیم.

در مقاله بعدی در مورد مبحث بسیار کاربردی و مهم وراثت با شما حرف خواهیم زد و وارد مباحث پیشرفته تری در زبان برنامه نویسی خواهیم شد.

سامان محمدپور
در مورد نویسنده : موفقیت بستگی به تلاش هر شخص داره، هممون ب همون اندازه که تلاش کردیم موفق شدیم.


پرسش و پاسخ
0
دوره پیشنهادی
دوره پیشنهادی