با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش پایتون ، را دنبال می کنند. در قسمت قبلی به آرایه ها در پایتون پرداختیم ،در این جلسه قصد داریم به آموزش مبحث شی گرایی در پایتون Python یا اشیا و کلاس ها در پایتون بپردازیم.
پایتون یک زبان برنامه نویسی شی گرا (Object Oriented Programming) یا به اختصار OOP است.
تقریبا هر چیزی در پایتون یک شی است، با خواص و متد های خود.
یک کلاس (Class) در واقع پروتوتایپ یا طرحی است که اشیا از روی آن ساخته می شوند.
برای ساخت کلاس در پایتون از کلمه کلیدی class استفاده می کنیم.
در مثال زیر یک کلاس به نام MyClass ایجاد کرده ایم که یک خاصیت (Property) به نام x دارد:
1 2 | class MyClass: x = 5 |
حالا می توانیم از روی کلاس MyClass یک شی ایجاد کنیم.
در مثال زیر یک شی به نام p1 ایجاد کرده ایم و مقدار x را چاپ می کنیم:
1 2 | p1 = MyClass() print(p1.x) |
مثال های بالا اشیا و کلاس ها را در شکل ساده خودشان بودند و در برنامه های واقعی کاربرد مفیدی ندارند.
برای درک مفهوم کلاس ما باید تابع ()__init__ را درک کنیم.
تمام کلاس ها تابعی به نام ()__init__ دارند که همیشه هنگامی که کلاس برای ایجاد شی فراخوانی می شود، به صورت خودکار اجرا می شود.
از این تابع برای مقدار اولیه به خواص اشیا یا هر عملی که لازم است تا هنگام تعریف ش انجام شود، استفاده می شود.
در مثال زیر هنگام ایجاد شی p1 ، خواص شی را مقداردهی کرده ایم:
1 2 3 4 5 6 7 8 9 | class Person: def __init__(self, name, age): self.name = name self.age = age p1 = Person("John", 36) print(p1.name) print(p1.age) |
اشیا می توانند متد نیز داشته باشند.
متد در اشیا در واقع توابعی هستند که به شی تعلق دارند.
در مثال زیر متدی برای کلاس person تعریف کرده ایم که یک خوشامد گویی را چاپ می کند.
برای دسترسی به خواص و متد های شی از . (نقطه) استفده می کنیم:
1 2 3 4 5 6 7 8 9 10 | 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() |
خروجی:
C:\Users\My Name>python demo_class5.py Hello my name is John |
برای مقداردهی به خواص شی به صورت زیر عمل می کنیم:
1 | p1.age = 40 |
برای حذف یک خاصیت از شی، از کلمه کلیدی del استفاده می کنیم:
1 | del p1.age |
همچنین از این کلمه کلیدی می توانیم برای حذف خود اشیا نیز استفاده کنیم:
1 | del p1 |
جلسه اموزش شی گرایی در پایتون python نیز به پایان رسید.
در جلسه بعد به آموزش ماژول ها در پایتون python خواهیم پرداخت. با ما همراه باشید.
Morad
ساده و روان. ممنون مفید بود
امیر
این مطالب از وب سایت w3school ترجمه شده است.
پی وی لرن
سلام
بله همینطور است.
مهدی
سلام هیچی راجع به کلمه self گفته نشده
پی وی لرن
سلام
در آپدیت های بعدی اضافه خواهیم کرد.