آموزش شی‌ءگرایی در پایتون

«برنامه‌نویسی شی‌گرا» (Object Oriented Programming) یک الگوی برنامه‌نویسی است که طراحی نرم‌افزار را حول داده‌ها یا اشیا سازمان‌دهی می‌کند و به جای توابع و منطق بر مفهوم کلاس‌ها و اشیاء تکیه می‌کند. برنامه‌نویسی شی‌گرا قابلیت ... ادامه

گواهینامه
4.2 (90 رای)
2,811 دانشجو
متوسط
مکتب‌خونه
مکتب‌خونه
محتوای دوره
پیش‌نیاز‌ها
درباره دوره
نظرات کاربران
درباره استاد

آنچه در این دوره می‌آموزید

اشیاء در برنامه‌نویسی شی‌ءگرا

وراثت در برنامه‌نویسی شی‌ءگرا

پلی‌مورفیسم در شی‌ءگرایی

کپسوله‌سازی

انتزاع داده‌ها

محتوای دوره

11 فصل 25 جلسه 5 ساعت ویدیو
فصل اول: مقدمه
فصل دوم: آماده‌سازی
فصل سوم: شیءگرایی
فصل چهارم: Inheritance
فصل پنجم: Encapsulation
فصل ششم: انواع متدها در کلاس
فصل هفتم: Abstraction
فصل هشتم: Polymorphism
فصل نهم: نکات تکمیلی
فصل دهم: پروژه هواشناسی
فصل یازدهم: Solid

پیش‌نیاز‌ها

درباره دوره

«برنامه‌نویسی شی‌گرا» (Object Oriented Programming) یک الگوی برنامه‌نویسی است که طراحی نرم‌افزار را حول داده‌ها یا اشیا سازمان‌دهی می‌کند و به جای توابع و منطق بر مفهوم کلاس‌ها و اشیاء تکیه می‌کند. برنامه‌نویسی شی‌گرا قابلیت استفاده مجدد کد را تضمین می‌کند و از افزونگی جلوگیری می‌کند و از این رو حتی در زمینه‌های خارج از مهندسی نرم‌افزار مانند یادگیری ماشین، هوش مصنوعی، علم‌داده و غیره بسیار محبوب شده است. بسیاری از زبان‌های برنامه نویسی شی‌گرا مانند جاوا، جاوا اسکریپت، پایتون و غیره شی‌ءگرا هستند. دوره آموزش شی‌ءگرایی در پایتون به آموزش این الگو در زبان محبوب پایتون می‌پردازد. قبل از اینکه دوره آموزش شی‌ءگرایی در پایتون معرفی شود. بهتر است که با مفهوم شی‌ءگرایی در پایتون و جنبه‌های مختلف آن آشنا شویم.

دوره آموزش شی‌ءگرایی در پایتون

شی‌ءگرایی در پایتون یا python object oriented programming از اهمیت بسیار بالایی برخوردار است و تقریباً بدون ماهیت شی‌ءگرایی پایتون قدرت چندانی ندارد، از این رو پلتفرم آموزشی مکتب‌خونه در سال 2022 درصدد آن برآمده است که دوره‌ای به نام دوره آموزش شی‌ءگرایی در پایتون ارائه دهد تا با تمام جزئیات و به‌صورت جامع و کاربردی شی‌ءگرایی در پایتون را آموزش دهد. دوره آموزش شی‌ءگرایی در پایتون یکی از پیشرفته‌ترین دوره‌ها برای پایتون به‌حساب می‌آید و دانشجو پس از پایان دوره می‌تواند ماهیت شی‌ءگرایی در پایتون را در پروژه‌های مختلفی به کار ببرد.

هدف از برگزاری دوره آموزش شی‌ءگرایی در پایتون چیست؟

این دوره تمرکز بیشتری به ساختار شی‌ء گرایی پایتون دارد، به طوری که کاربر بتواند درک بهتری از عملکرد ماژول‌سازی و فریم‌ورک‌های سطح بالا و یا حتی کار با کتابخانه‌ها پیدا کند. هر چند که برنامه نویسی معمولاً به دو حالت تابع گرا و شی‌ءگرا دسته‌بندی می‌شود ولی در بخش‌هایی که تعداد عملکردها نیاز به گسترش پیدا می‌کند و گاهی تشابه وجود دارد، وارد استفاده از مسائل شی‌ءگرا می‌شود و آشنایی با قوانین و منطق شئ‌گرایی خیلی می‌تواند کار برنامه‌نویس‌ها را راحت‌تر کند، از این رو دوره آموزش شی‌ءگرایی در پایتون ارائه‌شده است.

دوره آموزش شی‌ءگرایی در پایتون برای چه کسانی مناسب است؟

دوره آموزش شی‌ءگرایی در پایتون برای کسانی مناسب است که تجربه کافی با پایتون در سطح تابع‌گرا دارند و می‌خواهند به سطوح بالاتری از برنامه‌نویسی پایتون برسند، منتهی برای انتخاب فیلد کاری و ماژول‌های مرتبطی که در کار استفاده می‌شوند لازم است که درک درستی از شکل‌گیری آن‌ها داشته باشند که در زمان استفاده حتی بدون رجوع به داکیومنت‌ها هم بتوانند کد رو متوجه شوند. در کل بحث شی‌ءگرایی دانشی نیست که بخواهد انتخابی باشد و باید برنامه‌نویسان پایتون بعد از یک تجربه کاری مفید حتماً به سراغ آن بیایند.

اهمیت دوره شی‌ءگرایی در پایتون

امروزه شی‌گرایی یک رویه بسیار مهم در زبان برنامه نویسی پایتون به‌حساب می‌آید و یادگیری آن برای برنامه نویسان حرفه‌ای از اهمیت بسیار بالایی برخوردار است، از این رو نیاز به آموزش برنامه‌نویسی شی‌ءگرا در python روزبه‌روز بیشتر احساس می‌شود. دوره مذکور در قالب فیلم آموزش شی‌ءگرایی در پایتون ضبط و ارائه شده است.

علاوه بر دوره مذکور برای آموزش شی‌ءگرایی در پایتون، ممکن است در سطح وب منابع آموزشی بیشتری در قالب‌هایی مانند موارد زیر موجود باشد:

  • کتاب آموزش شی‌ءگرایی در پایتون
  • فیلم آموزش شی‌ءگرایی در پایتون
  • دوره آموزش رایگان شی‌ءگرایی در پایتون
  • و غیره

این دوره یکی از کامل‌ترین دوره‌ها در زبان فارسی است و بهتر است هر دوره‌ای که استفاده می‌کنید به‌عنوان مکمل این دوره و هم‌زمان با آن باشد.

برنامه‌نویسی شی‌ءگرا (OOPs)

برنامه‌نویسی شی گرا (OOPs) یک الگوی برنامه‌نویسی است که از اشیاء و کلاس‌ها در برنامه‌نویسی استفاده می‌کند. هدف آن پیاده‌سازی موجودیت‌های دنیای واقعی مانند وراثت، چندشکلی‌ها، کپسوله‌سازی و غیره در برنامه‌نویسی است. مفهوم اصلی OOP- ها این است که داده‌ها و توابعی را که روی آن کار می‌کنند به‌عنوان یک واحد به هم متصل می‌کند تا هیچ بخش دیگری از کد نتواند به این داده‌ها دسترسی داشته باشد.

می‌توان گفت که برنامه نویسی شی‌گرا روشی از برنامه‌نویسی کامپیوتری است که از ایده «اشیاء» برای نمایش داده‌ها و روش‌ها استفاده می‌کند. همچنین روشی است که برای ایجاد کد مرتب و قابل استفاده مجدد به جای یک کد اضافی استفاده می‌شود. این برنامه به اشیاء مستقل یا چند برنامه کوچک تقسیم می‌شود. هر شی واحد نشان دهنده بخش متفاوتی از برنامه است که منطق و داده‌های خاص خود را برای برقراری ارتباط با خود دارد.

مفاهیم اصلی برنامه نویسی پایتون شی گرا (OOPs) شامل موارد زیر است:

  • کلاس (Class)
  • اشیاء
  • پلی‌مورفیسم (چند شکلی)
  • کپسوله‌سازی
  • وراثت
  • انتزاع داده‌ها

در دوره آموزش آموزش پایتون شی گرایی کاملا تمام این مفاهیم به‌صورت عملی آموزش داده می‌شود و پس از پایان دوره دانشجو می‌تواند مفاهیم فوق را به‌صورت کاربردی یاد بگیرد و آن را به کار ببرد.

کلاس در برنامه‌نویسی شی‌ءگرا

«کلاس» (Class) مجموعه‌ای از اشیا است. یک کلاس شامل نمونه اولیه‌ای است که اشیاء از آن ساخته می‌شوند. این یک موجودیت منطقی است که حاوی برخی ویژگی‌ها و روش‌ها است. به زبان ساده می‌توان گفت که کلاس مجموعه‌ای از اشیاء است یا می‌توان گفت طرحی از اشیاء است که ویژگی‌ها و رفتار مشترک را تعریف می‌کند.

کلاس به طور منطقی داده‌ها را به‌گونه‌ای گروه‌بندی می‌کند که قابلیت استفاده مجدد کد آسان می‌شود. برای مثال به دفتری فکر کنید که در آن «کارمند» به‌عنوان یک کلاس و تمام ویژگی‌های مربوط به آن مانند نام، سن، حقوق، شماره کارمندی و غیره به‌عنوان اشیاء شناخته می‌شوند.

چند نکته در رابطه با کلاس پایتون:

  • کلاس‌ها توسط کلاس کلمات کلیدی ایجاد می‌شوند.
  • ویژگی‌ها متغیرهایی هستند که به یک کلاس تعلق دارند.
  • ویژگی‌ها همیشه عمومی هستند و با استفاده از عملگر نقطه (.) قابل‌دسترسی هستند. به‌عنوان مثال: Myclass.Myattribute
  • در دوره آموزش شی‌ءگرایی در پایتون مفاهیم کلاس در قالب مثال‌ها و تمرین‌های عملی به‌خوبی آموزش داده شده است.

اشیاء در برنامه‌نویسی شی‌ءگرا

«اشیا» (Objects) نمونه‌ای از یک کلاس هستند و موجودیتی است که حالت و رفتار دارد. به طور خلاصه، نمونه‌ای از یک کلاس است که می‌تواند به داده‌ها دسترسی داشته باشد. به طور خاص، هر عدد صحیح یا هر رشته منفرد یک شی است. برای مثال عدد 12 یک شی است، رشته "Hello, world" یک شی است یا مثلاً یک لیست یک شی است که می‌تواند اشیاء دیگر را در خود جای دهد و غیره. شما همیشه از اشیاء استفاده کرده‌اید و حتی ممکن است متوجه آن نباشید.

یک شی شامل موارد زیر است:

  • حالت: با ویژگی‌های شی نشان داده می‌شود. همچنین ویژگی‌های شی را منعکس می‌کند.
  • رفتار: با روش‌های شی نشان داده می‌شود. همچنین پاسخ شی به اشیاء دیگر را منعکس می‌کند.
  • شناسه: یک نام منحصر به فرد به یک شی می‌دهد و شی را قادر می‌سازد با اشیاء دیگر تعامل داشته باشد.

برای درک حالت، رفتار و شناسه، اجازه دهید مثال کلاس کارمند دوباره تکرار شود:

  • شناسه یا هویت را می‌توان به‌عنوان نام کارمند در نظر گرفت.
  • حالت یا ویژگی‌ها را می‌توان به‌عنوان سن، حقوق و غیره کارمند در نظر گرفت.
  • رفتار می‌تواند این‌گونه در نظر گرفته شود که آیا کارمند در حال کار کردن یا مرخصی است.
  • در دوره آموزش شی‌ءگرایی در پایتون در محیط برنامه نویسی پایتون همراه با مثال‌های متعدد و عملی شی و نحوه رفتار آن آموزش داده خواهد شد.

وراثت در برنامه‌نویسی شی‌ءگرا

«وراثت» (Polymorphism) توانایی یک کلاس برای استخراج یا به ارث‌بردن خواص از کلاس دیگر است. کلاسی که ویژگی‌ها را مشتق می‌کند، کلاس مشتق شده یا کلاس فرزند و کلاسی که ویژگی‌ها از آن مشتق می‌شوند، کلاس پایه یا کلاس والد نامیده می‌شوند. مزایای ارث عبارت‌اند از:

وراثت در برنامه نویسی قابلیت استفاده مجدد از یک کد را فراهم می‌کند. ما مجبور نیستیم دوباره و دوباره همان کد را بنویسیم. همچنین، این امکان را به ما می‌دهد تا ویژگی‌های بیشتری را به یک کلاس بدون تغییر آن اضافه کنیم. ماهیت ارث‌بری زیر کلاس‌ها را هم شامل می‌شود، به این معنی که اگر کلاس B از کلاس A دیگری ارث می‌برد، آنگاه تمام زیر کلاس‌های B به طور خودکار از کلاس A به ارث می‌برند.

انواع وراثت

انوع وراثت در زبان برنامه نویسی پایتون شی گرا به صورت موارد زیر هستند:

  • وراثت مجرد یا تک سطحی (Single Inheritance): وراثت تک سطحی یک کلاس مشتق شده را قادر می‌سازد تا ویژگی‌های یک کلاس تک والد را به ارث ببرد.
  • وراثت چند سطحی (Multilevel Inheritance): وراثت چند سطحی یک کلاس مشتق شده را قادر می‌سازد تا ویژگی‌های یک کلاس والد فوری را به ارث ببرد که به نوبه خود ویژگی‌ها را از کلاس والد خود به ارث می‌برد.
  • وراثت سلسله مراتبی (Hierarchical Inheritance): وراثت سطح سلسله مراتبی بیش از یک کلاس مشتق شده را قادر می‌سازد تا ویژگی‌های یک کلاس والد را به ارث ببرند.
  • وارثت چندگانه (Multiple Inheritance): وراثت چند سطحی یک کلاس مشتق شده را قادر می‌سازد تا ویژگی‌های بیش از یک کلاس پایه را به ارث ببرد.

پلی مورفیسم در شی‌ءگرایی

«چند شکلی» (Polymorphism | پلی مورفیسم) به زبان ساده به معنای داشتن اشکال متعدد است. پلی مورفیسم در واقع یکی از روش‌های OOP است که در آن یک کار می‌تواند به چندین روش مختلف انجام شود. به بیان ساده، این ویژگی یک شی است که به آن اجازه می‌دهد چندین شکل به خود بگیرد. در دوره آموزش شی‌ءگرایی در پایتون پلی مورفیسم با ارائه مثال‌های عملی آموزش داده شده است.

کپسوله سازی

«کپسوله سازی» (Encapsulation) یکی از مفاهیم اساسی در برنامه نویسی شی‌ءگرا (OOP) است. کپسوله سازی در واقع ایده بسته‌بندی یا کپسوله سازی داده‌ها و روش‌هایی که روی داده‌ها در یک واحد کار می‌کنند را توصیف می‌کند. کپسوله سازی محدودیت‌هایی را برای دسترسی مستقیم به متغیرها و روش‌ها ایجاد می‌کند و می‌تواند از تغییر تصادفی داده‌ها جلوگیری کند. برای جلوگیری از تغییر تصادفی، متغیر یک شی فقط با روش یک شی قابل تغییر است. این نوع متغیرها به‌عنوان متغیرهای خصوصی شناخته می‌شوند. یک کلاس نمونه‌ای از کپسوله سازی است زیرا تمام داده‌هایی که توابع عضو، متغیرها و غیره هستند را کپسوله می‌کند.

انتزاع داده‌ها

انتزاع داده‌ها در برنامه نویسی شی‌ءگرا جزئیات کد غیر ضروری را از کاربر پنهان می‌کند. همچنین، زمانی که نمی‌خواهیم بخش‌های حساس پیاده‌سازی کد خود را ارائه دهیم، انتزاع داده‌ها وارد عمل می‌شود. انتزاع داده در پایتون را می‌توان از طریق ایجاد کلاس‌های انتزاعی به دست آورد. در دوره برنامه نویسی پایتون شی گرا مفهوم انتزاع با مثال‌های متعددی آموزش داده شده است. در دوره آموزش فوق، مفاهیم شی گرایی در پایتون به زبان ساده را خواهید آموخت.

اطلاعات بیشتر

امتیاز و نظرات کاربران

4.2

از مجموع 90 امتیاز

45 نظر

1 ماه پیش

مطالب خیلی جامع تدریس شده بودن و حتی بعضی جاها چیزایی گفته شد که ربط مستقیمی به شی گرایی نداشتن. بیشنهادم اینکه تعداد تمرین ها بیشتر بشن و بخش abstract جامع تر و شفاف تر توضیح داده بشه!

مهدی یار کاظمی

مهدی یار کاظمی

1 ماه پیش

دوره‌ی خوبیه و مدرس هم به مباحث مسلط هست. نکته جالب معرفی پکیج‌هاست که ایده‌ی قشنگیه. تنها ضعفی که در این دوره به نظرم زیاد به چشم میاد قسمت abstract هستش که گنگ مطرح میشه و اگه اصلاح بشه خیلی بهتره.

سجاد مومنی مزده

سجاد مومنی مزده

1 ماه پیش

با سلام و خستع نباشید خدمت استاد گرانقدر و کارکنان مکتب خونه من هنوز فارغ التحصیل نشدم، و بعد از دیدن چند فصل الان میخواستم بگم که دوره خیلی خوبی بود، استاد با مثال های گوناگون سعی میکنه دانشجو درگیر مفاهیم بشه و تمرینات رو حل کنه، انتقاد هم دارم بعضی از ویدیوها خیلی طولانی میشه که من با سرعت بیشتر پلی میکردم😁 و اینکه حس میکنم بعضی از کوییزها جواب های درست رو اشتباه ثبت میکرد. برای دوستانی هم که دوره رو میخرن بگم که بهتره از قبل از خرید دوره کار با request,API رو حتما یه مرور بکنن

میثم صفائی

میثم صفائی

1 ماه پیش

سلام ، ممنون از زحماتتون، دوره بسیار خوبی بود و منطق شی گرایی رو به خوبی جا انداخت منتها یه کاستی که دوره داشت کمبود پروژه بود، فکر میکنم اگر پروژه هاش بیشتر بشه دوره بهتر میتونه منطق شی گرایی رو انتقال بده

فاضل فولادی

فاضل فولادی

2 ماه پیش

بیان و توضیحات عالی

جواد دولتی

جواد دولتی

3 ماه پیش

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

یگانه بهاری اصل

یگانه بهاری اصل

نظرات بیشتر

گواهینامه

آموزش شی‌ءگرایی در پایتون

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

قابل به اشتراک گذاشتن در

linkdin

دوره‌های پیشنهادی

این دوره در کدام مسیرهای یادگیری است؟

درباره استاد

علی بیگدلی
علی بیگدلی
10 دوره
21,885 دانشجو

علی بیگدلی فارغ‌التحصیل مهندسی فناوری اطلاعات و دانش‌آموخته‌ی رشته هوش مصنوعی و رباتیک است. علاقه ایشان به دنیای هوش مصنوعی و ارتباطات دنیای IOT باعث شد که به روند تلفیق این دو بستر بپردازد. به‌طوری‌که اساس تحصیل، کار و پیشرفت وی قرار گرفت.

بیش از 5 سال سابقه برنامه‌نویسی و توانایی وی در حوزه شبکه و ارتباطات روند کار را برایش تسهیل کرد به شکلی که امروز به‌عنوان مدیر بخش تحقیق و توسعه شرکت Mantranic در فنلاند قرار گرفته و در بسیاری از پروژه‌ها نقش کلیدی ایفا می‌کند. زبان‌های پایتون، C++/C و Arduino از تخصص‌های وی در برنامه‌نویسی به شمار می‌آید.

ایشان از سال 96 تیمی با نام ICC-ARIA را بنیان‌گذاری کرد که اهدافشان تدریس تخصص‌های مختلف در حوزه هوش مصنوعی و اینترنت اشیا را شامل می‌شود که در این حوزه طراحی‌های Backend و فریم‌ورکی چون Django نقش بسزایی را ایفا می‌کند. ایده‌پردازی و تبدیل یک ایده به محصول و مهندسی معکوس محصولات از توانایی‌های بالقوه وی به شمار می‌رود.

اطلاعات بیشتر

سوالات پرتکرار

آیا در صورت خرید دوره، گواهی نامه آن به من تعلق می گیرد؟

خیر؛ شما با خرید دوره می توانید در آن دوره شرکت کنید و به محتوای آن دسترسی خواهید داشت. در صورتی که در زمان تعیین شده دوره را با نمره قبولی بگذرانید، گواهی نامه دوره به نام شما صادر خواهد شد.

حداقل و حداکثر زمانی که می توانم یک دوره را بگذرانم چقدر است؟

برای گذراندن دوره حداقل زمانی وجود ندارد و شما می توانید در هر زمانی که مایل هستید فعالیت های مربوطه را انجام دهید. برای هر دوره یک حداکثر زمان تعیین شده است که در صفحه معرفی دوره می توانید مشاهده کنید که از زمان خرید دوره توسط شما تنها در آن مدت شما از ویژگی های تصحیح پروژه ها توسط پشتیبان و دریافت گواهی نامه بهره مند خواهید بود.

در صورت قبولی در دوره، آیا امکان دریافت نسخه فیزیکی گواهی نامه دوره را دارم؟

خیر، به دلیل مسائل زیست محیطی و کاهش قطع درختان، فقط نسخه الکترونیکی گواهی‌نامه در اختیار شما قرار می‌گیرد

پس از سپری شدن زمان دوره، به محتوای دوره دسترسی خواهم داشت؟

بله؛ پس از سپری شدن مدت زمان دوره شما به محتوای دوره دسترسی خواهید داشت و می توانید از ویدئوها، تمارین، پروژه و دیگر محتوای دوره در صورت وجود استفاده کنید ولی امکان تصحیح تمارین توسط پشتیبان و دریافت گواهی نامه برای شما وجود نخواهد داشت.