Classes/Objects در پایتون




Classes/Objects در پایتون


همانطور که حتما تا حالا متوجه شدید پایتون یک زبان برنامه نویسی شی گرا می باشد.

تقریبا همه چیز در پایتون یک شیء با خواص و متدهای خاص آن شیء می باشد

یک کلاس مانند سازنده یک شیء، یک طرح برنامه ریزی شده برای ایجاد اشیاء در پایتون می باشد.



ایجاد یک کلاس

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

مثال

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

class MyClass:
  x = 5

ساخت یک شیء

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

مثال

p1 = MyClass()
print(p1.x)

تابع ()__init__

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

برای درک معنا واقعی استفاده از کلاس ها، ما باید تابع ()__init __ ساخته شده را درک کنیم.

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

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

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

p1 = Person("John", 36)

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

نکته : این تابع در هر باری که اشیاء جدیدی از کلاس ساخته می شود بصورت خودکار شیء های درون کلاس را تولید می کند.


Object Methods

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

اجازه دهید یک متد جدید در کلاس Person تعریف کنیم

مثال

در این مثال با فراخوانی متد در شیء یک پیام توسط آن چاپ می گردد

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 نامگذاری کنید، می توانید آن را به هر چیزی دوست دارید نامگذاری کنید، اما باید اولین پارامتر از هر عملکرد در کلاس باشد:

مثال

از کلمات mysillyobject و abc به جای 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()

تغییر خواص شیء

شما می توانید خواص (properties) در اشیاء را مانند مثال زیر تغییر دهید

مثال

تنظیم سن روی شیء p1 به 40

p1.age = 40

پاک کردن خواص شیء

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

مثال

حذف خاصیت سن از شیء p1

del p1

مرکز تحقیقات فناوری اطلاعات و ارتباطات صدر
میدان 13 آبان ، خیابان برادران افراسیابی ، کوچه غفارزاده پلاک 34
مرکز تحقیقات صدر
شماره تماس: (021) 35238809