کلاسها/اشیاء پایتون
پایتون یک زبان برنامه نویسی شی گرا است.
تقریباً همه چیز در پایتون یک شی است ، با خواص و روش های آن.
یک کلاس مانند یک سازنده شی ، یا یک “طرح” برای ایجاد اشیاء است.
ایجاد یک کلاس
برای ایجاد کلاس ، از کلمه کلیدی استفاده کنید 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__()
تابع به صورت خودکار هر وقت که طبقه استفاده شده است برای ایجاد یک شیء جدید به نام.
روشهای شیء
اشیاء همچنین می توانند شامل روش هایی باشند. متدها در اشیا توابعی هستند که به شیء تعلق دارند.
اجازه دهید یک متد در کلاس Person ایجاد کنیم:
مثال
تابعی را که یک تبریک چاپ می کند وارد کنید و آن را روی شی 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
بگذارید ، می توانید آن را هرطور که دوست دارید بنامید ، اما باید اولین پارامتر هر تابع در کلاس باشد:
مثال
از کلمات 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()
اصلاح ویژگی های شی
شما می توانید ویژگی ها را روی اشیاء مانند این تغییر دهید:
مثال
سن p1 را روی 40 سال تنظیم کنید:
p1.age = 40
حذف ویژگی های شی
با استفاده از del
کلمه کلیدی می توانید ویژگی های موجود در اشیا را حذف کنید :
مثال
ویژگی age را از شی p1 حذف کنید:
del p1.age
حذف اشیاء
با استفاده از del
کلمه کلیدی می توانید اشیاء را حذف کنید :
مثال
شی p1 را حذف کنید:
del p1
بیانیه گذرنامه
class
تعاریف نمی توانند خالی باشند ، اما اگر بنا به دلایلی class
تعریفی بدون محتوا دارید ، pass
دستور را برای جلوگیری از خطا وارد کنید.