آموزش Python OOP - برنامه نویسی شی گرا برای مبتدیان

Python OOP - Object Oriented Programming for Beginners

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: برنامه نویسی شی گرا را در پایتون با سخنرانی های ویدئویی گام به گام، پروژه ها، تمرین ها، نمودارها و موارد دیگر بیاموزید. اصول برنامه نویسی شی گرا (OOP) با استفاده از پایتون. چگونه عناصر برنامه نویسی شی گرا در پشت صحنه کار می کنند. درک کنید که کلاس ها چگونه کار می کنند و چگونه می توانید نمونه هایی از کلاس ها ایجاد کنید. پیاده سازی و فراخوانی روش ها هدف آنها را در کلاس ها درک کنید. ویژگی های نمونه و ویژگی های کلاس را تعریف کنید. تفاوت های آنها را یاد بگیرید. از «خود» برای اشاره به موارد استفاده کنید. نحوه عملکرد آن در پشت صحنه را بیاموزید. برای استفاده مجدد از کد، بهبود طراحی و جلوگیری از تکرار، با ارث بری کار کنید. جنبه های کلیدی OOP مانند Docstrings و Special Methods را تمرین کنید. پیش نیازها: دانش پایه پایتون و برنامه نویسی (انواع داده ها، متغیرها، شرطی ها، حلقه ها و توابع). برای تکمیل پروژه های کوچک به دانش اولیه لیست ها، تاپل ها و دیکشنری ها نیاز است. پایتون 3 و PyCharm، IDLE یا هر IDE پایتون دیگری به انتخاب شما. PyCharm در طول سخنرانی های ویدیویی استفاده می شود. تمرین های کدنویسی را می توان مستقیماً در مرورگر ارسال کرد.

برنامه نویسی شی گرا (OOP) را در پایتون با پروژه های کوچک، تمرین عملی و توضیحات تصویری با دقت طراحی شده بیاموزید. درک چگونگی عملکرد عناصر و مفاهیم انتزاعی OOP در پشت صحنه. دانش خود را در سناریوهای جدید به کار ببرید.


برنامه نویسی شی گرا قدم بعدی شما به دنیای پر تقاضا و قدرتمند پایتون است

  • کلاس‌ها و نمونه‌ها را برای نوشتن برنامه‌های پایتون ایجاد و کار کنید.

  • درک کنید که چگونه آنها در پشت صحنه کار می کنند.

  • با زمان استفاده از ویژگی‌های نمونه در مقابل ویژگی‌های کلاس آشنا شوید.

  • روش‌ها را پیاده‌سازی و فراخوانی کنید. هدف آنها را درک کنید.

  • از قدرت وراثت برای جلوگیری از تکرار کد استفاده کنید.

  • از مفاهیم کلیدی مانند Docstrings و روش‌های ویژه در برنامه‌های خود استفاده کنید.

--------------

نظرات دانشجویان

"این یک دوره فوق العاده است! بسیار روشمند و با جزئیات است. به شما کمک می کند یک پایه بسیار قوی در OOP در پایتون بسازید. به شدت برای مبتدیان توصیه می شود." - شین چو

"حتی noob کل OOP را در اینجا درک خواهد کرد :)" - Łukasz Bryzek

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

"اگر در برنامه نویسی تازه کار هستید و می خواهید بر اصول اولیه OOP مسلط باشید، این دوره را به شدت توصیه می کنم." - دیمین کالینز

"محافظه‌های یادگیری. برای من پوشش کلاس‌های پایتون در اینجا بهتر از این بوده است که این موضوع در چند کلاس پایتون دیگر که از مربیان معتبر پایتون دارم، پوشش داده شده است. کلاه به مربی برای چیدن اینها." - توماس P

"مناسب برای افرادی که هیچ سرنخی ندارند!" - پاتریک اونگین

--------------

به‌روزرسانی‌های دوره

این دوره مرتباً با سخنرانی‌ها، پروژه‌ها و منابع جدید به‌روزرسانی می‌شود:

نوامبر 2022 - جدید! مینی پروژه جدید (روش های ثبت نقدی).

نوامبر 2022 - جدید! آزمون ها و پروژه های کوچک به روز شده.

نوامبر 2022 - جدید! آزمون ها به روز شده با پرسش و پاسخ های جدید.

نوامبر 2022 - جدید! روش های ویژه __iter__() و __next__().

نوامبر 2022 - جدید! چرا تاپل های کلون شده شناسه یکسانی دارند.

نوامبر 2022 - جدید! چگونه یک ویژگی نمونه را حذف کنیم.

نوامبر 2022 - جدید! نحوه تکرار روی نمونه ها.

جولای 2022 - جدید! پروژه جدید: بازی تاس

می 2022 - جدید! بخش 1

به روز شد

نوامبر 2021 - جدید! آزمون های به روز شده با توضیحات مفصل برای پاسخ ها.

سپتامبر 2021 - جدید! پروژه Tic-Tac-Toe به روز شده (سخنرانی ها و کدهای جدید).

ژوئن 2021 - جدید! فایل‌ها و آزمون‌های پایتون به‌روزرسانی شد.

ژوئن 2021 - جدید! پروژه بازی کارت جنگ.

ژوئن 2021 - جدید! به روز رسانی دوره کامل (سخنرانی ها و منابع جدید).

آوریل 2021 - جدید! پروژه نهایی: پیاده سازی یک ساختار داده با OOP (یک لیست پیوندی).

آوریل 2021 - جدید! Q A سوالات ویژه.

آوریل 2021 - جدید! پوستر PDF OOP قابل بارگیری، قالب یادداشت ها و قالب کد.

نوامبر 2020 - جدید! پروژه Tic-Tac-Toe.

اکتبر 2020 - جدید! آزمون‌ها، پروژه‌های کوچک و دو بخش اول به‌روزرسانی شد.

اکتبر 2020 - جدید! نشان هایی برای جمع آوری در پایان هر بخش.

اکتبر 2020 - جدید! مقالات "چیست هیچ است؟" و "روش زنجیره ای"

اکتبر 2020 - جدید! آزمونهای بخش.

اکتبر 2020 - جدید! راهنمای مطالعه PDF با سؤالاتی که به شما کمک می کند مرور کنید.

نوامبر 2019 - جدید! به روز رسانی دوره کامل با سخنرانی های ویدیویی جدید و منابع قابل دانلود.

سپتامبر 2019 - جدید! جزوه نکات به روز شده، جزوه محتوا، و کاغذدیواری دوره.

سپتامبر 2019 - جدید! فایل های پایتون قابل دانلود برای هر بخش.

سپتامبر 2019 - جدید! جزوات PDF برای هر بخش.

جولای 2019 - جدید! مقاله "ارث در زمینه".

جولای 2019 - جدید! راه‌حل‌هایی برای تمرین‌های کدگذاری.

جولای 2019 - جدید! پروژه های کوچک جدید برای هر بخش.


مهارت های جدید پایتون را به رزومه خود اضافه کنید

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

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


نمای کلی محتوا

با سخنرانی‌های ویدیویی با کیفیت بالا که شامل گرافیک و انیمیشن است، این مفاهیم را یاد خواهید گرفت و با آنها کار خواهید کرد:

  • کلاس ها

  • نمونه‌ها

  • ویژگی های نمونه

  • ویژگی های کلاس

  • روش ها

  • پارامتر "self"

  • ارث

  • رشته اسناد

  • روش های ویژه

  • .... و موارد دیگر!

شما یک بازی Tic-Tac-Toe و یک نسخه متنی از بازی کارت جنگ را با رعایت اصول برنامه نویسی شی گرا خواهید ساخت.


منابع مواد آموزشی

در طول دوره، این منابع را خواهید یافت:

  • سخنرانی‌های ویدیویی: گرافیک‌ها، انیمیشن‌ها و توضیحات با طراحی دقیق.

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

  • بازی Tic-Tac-Toe: شما با استفاده از اصول برنامه نویسی شی گرا یک بازی تیک تاک کار می سازید.

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

  • پروژه نهایی: شما یک ساختار داده در پایتون (یک لیست پیوندی) با توضیحات گام به گام، تمرین‌های عملی و سؤالات برجسته پیاده‌سازی خواهید کرد.

  • پروژه های کوچک: دانش خود را در پایان هر بخش با پروژه های کوچک اعمال خواهید کرد.

  • راه حل های پروژه های کوچک: هر پروژه کوچک راه حل مربوط به خود را دارد.

  • جزوات PDF: راهنمای مطالعه منحصر به فرد با خلاصه های گرافیکی از جنبه های کلیدی هر بخش.

  • تمرین‌های کدنویسی: مفاهیم کلیدی را با تمرین‌های کدنویسی تمرین کنید.

  • راه‌حل‌های تمرین‌های کدگذاری: هر تمرین کدنویسی راه‌حل مربوط به خود را دارد.

  • آزمون‌ها: دانش خود را به صورت تعاملی پس از هر سخنرانی با آزمون‌های کوتاهی که تلاش‌های نامحدود دارند بررسی کنید.

  • فایل‌های پایتون: کد مورد استفاده برای هر بخش را به‌عنوان یک فایل فشرده (zip.) با فایل‌های مجزای پایتون (.py) دانلود کنید.

  • مقالات: مقالات تکمیلی را بخوانید تا دانش خود را گسترش دهید.

  • پوستر دوره : پیشرفت خود را با پوستری که می توانید با تکمیل هر بخش از آن خط بزنید، پیگیری کنید.

  • قالب یادداشت‌های کورنل: با این قالب پی‌دی‌اف یادداشت‌برداری کنید و از سیستم یادداشت‌برداری کورنل پیروی کنید.

  • فرمت دفترچه یادداشت کد: فرمت PDF را دانلود کنید تا در صورت تمایل، کد خود را به صورت دستی بنویسید و یادداشت ها و نظرات خود را اضافه کنید.

  • تالارهای گفتگو: در تالارهای گفتگو سؤال بپرسید و موضوعات جالب را با همتایان خود مطرح کنید.


چرا این دوره منحصر به فرد است؟

این دوره به دلیل تأکید بر ارائه توضیحات بصری و دقیق در مورد نحوه عملکرد عناصر برنامه نویسی شی گرا (OOP) در پشت صحنه منحصر به فرد است، بنابراین شما نه تنها نحوه استفاده از آنها را در پایتون یاد خواهید گرفت، بلکه در واقع درک خواهید کرد. کاری که هر خط کد در پشت صحنه انجام می دهد.

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

مواد مطالعه منحصر به فرد تجربه دوره را تکمیل می کند. جزوه های PDF را خواهید دید که به طور خاص برای دوره طراحی شده اند و یک خلاصه گرافیکی از جنبه های کلیدی هر بخش وجود دارد.

تمرین‌های کدنویسی را مستقیماً در مرورگر حل خواهید کرد و بازخورد فوری برای ارسال دریافت خواهید کرد.

پس از هر سخنرانی اصلی، دانش خود را با آزمون‌های کوتاه بررسی خواهید کرد. آزمون ها بازخورد فوری ارائه می دهند، بنابراین می توانید بلافاصله پاسخ صحیح را ببینید. سؤالات مسابقه طوری طراحی شده اند که شما را عمیق تر در مورد موضوعات ارائه شده فکر کنید.

یک گواهی تکمیل دریافت خواهید کرد که می‌توانید آن را به نمایه‌های رسانه‌های اجتماعی خود اضافه کنید تا مهارت‌های جدید خود را به نمایش بگذارید.

همچنین به دوره و همه موارد جدید اضافه شده دسترسی مادام العمر خواهید داشت.

---------

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

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

"برنامه نویسی شی گرا در پایتون" را به رزومه خود اضافه کنید و مهارت های جدید خود را به نمایش بگذارید!


سرفصل ها و درس ها

به دوره آموزشی: برنامه نویسی شی گرا Python OOP برای مبتدیان خوش آمدید Welcome to the Course: Python OOP Object Oriented Programming for Beginners

  • به دوره خوش آمدید - اطلاعات مهم دوره Welcome to the Course - Important Course Information

  • خودتان را معرفی کنید و اهداف خود را به اشتراک بگذارید Introduce Yourself and Share your Goals

  • منابع قابل دانلود Downloadable Resources

مقدمه ای بر برنامه نویسی شی گرا (OOP) و مفاهیم کلیدی Introduction to Object Oriented Programming (OOP) and Key Concepts

  • به این بخش خوش آمدید | مقدمه ای بر برنامه نویسی شی گرا (OOP) Welcome to this Section | Introduction to Object Oriented Programming (OOP)

  • برنامه نویسی شی گرا (OOP) چیست؟ What is Object-Oriented Programming (OOP)?

  • مزایای برنامه نویسی شی گرا Advantages of Object Oriented Programming

  • اصطلاحات مهم و واژه نامه PDF Important Terminology and PDF Glossary

  • مقدمه ای بر برنامه نویسی شی گرا در پایتون Introduction to Object-Oriented Programming in Python

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

کلاس ها: نقشه های برنامه نویسی شی گرا (OOP) Classes: The Blueprints of Object Oriented Programming (OOP)

  • به این بخش خوش آمدید | مقدمه ای بر کلاس ها Welcome to this Section | Introduction to Classes

  • بخش منابع Section Resources

  • مقدمه ای بر کلاس ها: بلوک های ساختمان OOP Introduction to Classes: The Building Blocks of OOP

  • قراردادهای نامگذاری کلاس Class Naming Conventions

  • نحوه شناسایی کلاس ها در توضیح مشکل How to Identify Classes in a Problem Description

  • کلاس ها | مفهوم و تحلیل Classes | Concept and Analysis

  • کلاس ها در پایتون: نحو اولیه Classes in Python: Initial Syntax

  • استفاده از "شی" در پایتون 3 و پایتون 2 Use of "object" in Python 3 and Python 2

  • معرفی کلاس ها | سینتکس پایتون Introduction to Classes | Python Syntax

  • مثال: شناسایی کلاس ها در یک توضیح مسئله Example: Identify Classes in a Problem Description

  • کلاس های سناریوهای دنیای واقعی (مینی پروژه) Classes in Real-World Scenarios (Mini Project)

  • کلاس های سناریوهای دنیای واقعی (پروژه کوچک) - نسخه PDF برای برنامه موبایل Classes in Real-World Scenarios (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

نمونه ها و ویژگی های نمونه: از کلاس های خود برای ایجاد نمونه استفاده کنید Instances and Instance Attributes: Use your Classes to Create Instances

  • به این بخش خوش آمدید | نمونه ها و ویژگی های نمونه Welcome to this Section | Instances and Instance Attributes

  • بخش منابع Section Resources

  • مقدمه ای بر نمونه ها و ویژگی های نمونه Introduction to Instances and Instance Attributes

  • نمونه ها و ویژگی های نمونه | مفهوم Instances and Instance Attributes | Concept

  • ویژگی های نمونه و __init__() Instance Attributes and __init__()

  • __init__(): اشتباهات رایج __init__(): Common Mistakes

  • پارامترهای رسمی: راهنمای سبک PEP 8 Formal Parameters: PEP 8 Style Guide

  • معرفی خود Introduction to self

  • جلسه کدگذاری: ویژگی های نمونه را تعریف کنید Coding Session: Define Instance Attributes

  • نمونه ها و ویژگی های نمونه (Syntax) Instances and Instance Attributes (Syntax)

  • نحوه ایجاد نمونه How to Create Instances

  • چرا هنگام ایجاد یک نمونه از خود می گذریم؟ Why Do We Skip Self When We Create an Instance?

  • ایجاد نمونه (تمرین) Create instances (Practice)

  • یک نمونه ایجاد کنید Create an Instance

  • None چیست؟ What is None?

  • نحوه دسترسی به ویژگی های نمونه How to Access Instance Attributes

  • نحوه دسترسی به ویژگی های نمونه How to Access Instance Attributes

  • نحوه دسترسی به ویژگی های نمونه How to Access Instance Attributes

  • جلسه کدگذاری: به ویژگی های نمونه دسترسی پیدا کنید Coding Session: Access Instance Attributes

  • آرگومان های پیش فرض Default Arguments

  • آرگومان های پیش فرض: راهنمای سبک PEP 8 Default Arguments: PEP 8 Style Guide

  • آرگومان های پیش فرض Default Arguments

  • نحوه تکرار بر روی دنباله‌ای از نمونه‌ها How to Iterate over Sequences of Instances

  • نحوه به روز رسانی ویژگی های نمونه How to Update Instance Attributes

  • جلسه کدنویسی: ویژگی‌های نمونه را اصلاح/به‌روزرسانی کنید Coding Session: Modify/Update Instance Attributes

  • نحوه به روز رسانی ویژگی های نمونه How to Update Instance Attributes

  • نحوه به روز رسانی ویژگی های نمونه How to Update Instance Attributes

  • چگونه یک ویژگی نمونه را حذف کنیم How to Delete an Instance Attribute

  • باکتری ها و نمونه ها (تمرین) Bacteria and Instances (Practice)

  • باکتری ها و نمونه ها (تمرین) - نسخه PDF برای برنامه موبایل Bacteria and Instances (Practice) - PDF Version for the Mobile App

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • Bakery: Fix the Classes (Mini Project) Bakery: Fix the Classes (Mini Project)

  • Bakery: رفع کلاس ها (Mini Project) - نسخه PDF برای برنامه موبایل Bakery: Fix the Classes (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

ویژگی‌های کلاس: مشخصه‌های اشتراک‌گذاری شده در بین نمونه‌ها را تعریف کنید Class Attributes: Define Attributes Shared Across Instances

  • به این بخش خوش آمدید | ویژگی های کلاس Welcome to this Section | Class Attributes

  • بخش منابع Section Resources

  • مقدمه ای بر ویژگی های کلاس Introduction to Class Attributes

  • ویژگی‌های کلاس در مقابل ویژگی‌های نمونه Class Attributes vs. Instance Attributes

  • ویژگی های کلاس | مفهوم Class Attributes | Concept

  • نحوه تعریف ویژگی های کلاس How to Define Class Attributes

  • جلسه کدنویسی: ویژگی های کلاس را تعریف کنید Coding Session: Define Class Attributes

  • ویژگی های کلاس | نحو Class Attributes | Syntax

  • ویژگی های کلاس را تعریف کنید Define Class Attributes

  • نحوه دسترسی به ویژگی های کلاس How to Access Class Attributes

  • جلسه کدنویسی: به ویژگی های کلاس دسترسی پیدا کنید Coding Session: Access Class Attributes

  • نحوه دسترسی به ویژگی های کلاس How to Access Class Attributes

  • دسترسی به ویژگی های کلاس Access Class Attributes

  • نحوه تغییر ویژگی های کلاس How to Modify Class Attributes

  • جلسه کدنویسی: ویژگی های کلاس را اصلاح کنید Coding Session: Modify Class Attributes

  • نحوه تغییر ویژگی های کلاس How to Modify Class Attributes

  • ویژگی های کلاس را اصلاح کنید Modify Class Attributes

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • کارکنان و ویژگی های کلاس (مینی پروژه) Employees and Class Attributes (Mini Project)

  • کارکنان و ویژگی های کلاس (پروژه کوچک) - نسخه PDF برای برنامه موبایل Employees and Class Attributes (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

کپسوله سازی و انتزاع: اصول کلیدی برنامه نویسی شی گرا Encapsulation and Abstraction: Key Principles of Object-Oriented Programming

  • خوش آمدید | کپسوله سازی و انتزاع Welcome | Encapsulation and Abstraction

  • بخش منابع Section Resources

  • مقدمه ای بر کپسولاسیون Introduction to Encapsulation

  • مقدمه ای بر انتزاع Introduction to Abstraction

  • کپسوله سازی و انتزاع Encapsulation and Abstraction

  • عمومی در مقابل ویژگی های غیر عمومی در پایتون Public vs. Non-Public Attributes in Python

  • جلسه کدنویسی 1: ویژگی های عمومی در مقابل ویژگی های غیر عمومی Coding Session 1: Public vs. Non-Public Attributes

  • جلسه کدنویسی 2: خصوصیات عمومی در مقابل ویژگی های غیر عمومی Coding Session 2: Public vs. Non-Public Attributes

  • عمومی در مقابل ویژگی های غیر عمومی Public vs. Non-Public Attributes

  • مستندات پایتون | لینک مفید Python Documentation | Helpful Link

  • دسترسی به اصلاح کننده ها در سایر زبان های برنامه نویسی Access Modifiers in other Programming Languages

  • نام منگلینگ Name Mangling

  • نام منگلینگ Name Mangling

  • نام منگلینگ Name Mangling

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • کپسوله سازی و انتزاع (مینی پروژه) Encapsulation and Abstraction (Mini Project)

  • کپسولاسیون و انتزاع (پروژه کوچک) - نسخه PDF برای برنامه موبایل Encapsulation and Abstraction (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

ویژگی ها، دریافت کننده ها و تنظیم کننده ها در پایتون | آموزش استفاده از @property Properties, Getters, and Setters in Python | Learn to use @property

  • به این بخش خوش آمدید | ویژگی ها، دریافت کننده ها و تنظیم کننده ها Welcome to this Section | Properties, Getters, and Setters

  • نکته سریع: چگونه نظر خود را بگذارید یا به‌روزرسانی کنید Quick Tip: How to Leave or Update Your Review

  • بخش منابع Section Resources

  • مقدمه ای بر گترز Introduction to Getters

  • مقدمه ای بر ستترها Introduction to Setters

  • جلسه کدنویسی 1: گیرندگان و تنظیم کننده ها Coding Session 1: Getters and Setters

  • جلسه کدنویسی 2: گیرندگان و تنظیم کننده ها Coding Session 2: Getters and Setters

  • گیرندگان و ستترها Getters and Setters

  • نحوه استفاده از Properties | راه پایتونیک How to use Properties | The Pythonic Way

  • جلسه کدنویسی: ویژگی ها Coding Session: Properties

  • خواص | نحو اولیه Properties | Initial Syntax

  • دکوراتور @property The @property Decorator

  • دکوراتور چیست؟ What is a decorator?

  • جلسه کدنویسی: با استفاده از @property Coding Session: Using @property

  • @property | سه روش @property | The Three Methods

  • خواص | @ویژگی Properties | @property

  • یادداشتی در مورد استفاده از گیرنده ها، تنظیم کننده ها و ویژگی ها Note on the Use of Getters, Setters, and Properties

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • افزودن خصوصیات به یک کلاس (مینی پروژه) Add Properties to a Class (Mini Project)

  • افزودن ویژگی ها به کلاس (Mini Project) - نسخه PDF برای برنامه موبایل Add Properties to a Class (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

روش‌ها: قابلیت‌ها را به کلاس‌های خود اضافه کنید Methods: Add Functionality to your Classes

  • به این بخش خوش آمدید | مواد و روش ها Welcome to this Section | Methods

  • بخش منابع Section Resources

  • مقدمه ای بر روش ها در پایتون Introduction to Methods in Python

  • جلسه کدنویسی: روش ها Coding Session: Methods

  • روش ها | مفهوم و نحو Methods | Concept and Syntax

  • روش ها: راهنمای سبک PEP 8 Methods: PEP 8 Style Guide

  • نحوه فراخوانی یک روش How to Call a Method

  • جلسه کدنویسی: نحوه فراخوانی یک روش Coding Session: How to Call a Method

  • نحو جایگزین برای فراخوانی یک روش Alternative Syntax to Call a Method

  • روش‌های غیر عمومی و دستکاری نام Non-Public Methods and Name Mangling

  • نحوه فراخوانی یک روش How to Call a Method

  • نحوه فراخوانی یک روش How to Call a Method

  • یک روش فراخوانی کنید Call a Method

  • آرگومان های پیش فرض Default Arguments

  • آرگومان های پیش فرض Default Arguments

  • جلسه کدنویسی: آرگومان های پیش فرض Coding Session: Default Arguments

  • نحوه فراخوانی یک روش از روش دیگر How to Call a Method from Another Method

  • جلسه کدنویسی: نحوه فراخوانی یک روش از روش دیگر Coding Session: How to Call a Method from Another Method

  • روش ها و بیانیه های بازگشت Methods and Return Statements

  • یک متد را تعریف و فراخوانی کنید Define and Call a Method

  • روش زنجیر زنی Method Chaining

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • روش های ثبت نقدی (مینی پروژه) Cash Register Methods (Mini Project)

  • روش‌های ثبت نقدی (پروژه کوچک) - نسخه PDF برای برنامه موبایل Cash Register Methods (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

پروژه: ساخت بازی تاس با Python OOP Project: Build a Dice Game with Python OOP

  • به این پروژه خوش آمدید: بازی تاس Welcome to this project: Dice Game

  • توضیحات، قوانین و منطق بازی تاس Dice Game Description, Rules, and Logic

  • مفهوم جدید OOP: تجمع New OOP Concept: Aggregation

  • تجمیع در مقابل ترکیب Aggregation vs. Composition

  • نیازهای بازی و تجزیه و تحلیل شی گرا Game Requirements and Object-Oriented Analysis

  • اجرای کلاس Die Class Implementing the Die Class

  • پیاده سازی کلاس بازیکن Implementing the Player Class

  • اجرای کلاس DiceGame (قسمت 1) Implementing the DiceGame Class (Part 1)

  • اجرای کلاس DiceGame (قسمت 2) Implementing the DiceGame Class (Part 2)

  • اجرای بازی به پایان رسید Implementing Game Over

  • مراحل پایانی: تکمیل بازی Final Steps: Completing the Game

  • بازی تاس: کد نهایی Dice Game: Final Code

  • چالش‌هایی برای تمرین مهارت‌های OOP Challenges to Practice your OOP Skills

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

اشیاء در حافظه: یاد بگیرید چگونه اشیاء در پشت صحنه کار می کنند Objects in Memory: Learn How Objects Work Behind the Scenes

  • به این بخش خوش آمدید | اشیاء در حافظه Welcome to this Section | Objects in Memory

  • بخش منابع Section Resources

  • پایتون: اشیاء در حافظه Python: Objects in Memory

  • شی در مقابل نمونه Object vs. Instance

  • اشیاء داخلی در پایتون و روش های آنها Built-in Objects in Python and their Methods

  • تابع id() در پایتون The id() Function in Python

  • جلسه کدگذاری: تابع id(). Coding Session: the id() function

  • تابع id(). The id() function

  • مقدمه ای بر اپراتور "است". Introduction to the "is" Operator

  • مقایسه اشیاء کلاس های تعریف شده توسط کاربر با == Comparing Objects of User-Defined Classes with ==

  • جلسه کدگذاری: عملگر "is". Coding Session: The "is" operator

  • عملگر "است". The "is" operator

  • عملگر "is": نتایج غیرمنتظره The "is" operator: Unexpected Results

  • رفتار متفاوت: شل در مقابل اسکریپت Different Behavior: Shell vs. Script

  • کار با اشیا Working with objects

  • آن را امتحان کنید: بررسی کنید که اشیاء توسط مرجع ارسال شده باشند Try it: Check that objects are passed by Reference

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • اشیاء در حافظه (مینی پروژه) Objects in Memory (Mini Project)

  • اشیاء در حافظه (پروژه کوچک) - نسخه PDF برای برنامه موبایل Objects in Memory (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

نام مستعار، جهش، و شبیه سازی Aliasing, Mutation, and Cloning

  • به این بخش خوش آمدید | نام مستعار، جهش، شبیه سازی Welcome to this Section | Aliasing, Mutation, Cloning

  • بخش منابع Section Resources

  • مقدمه ای بر Aliasing Introduction to Aliasing

  • جلسه کدنویسی: نام مستعار Coding Session: Aliasing

  • نام مستعار Aliasing

  • مقدمه ای بر تغییرپذیری و تغییرناپذیری Introduction to Mutability and Immutability

  • مزایا و معایب انواع داده های قابل تغییر و تغییرناپذیر Advantages and Disadvantages of Mutable and Immutable Data Types

  • جلسه کدنویسی: تغییرپذیری و تغییرناپذیری Coding Session: Mutability and Immutability

  • مراقب باشید: روش های داخلی می توانند اشیا را تغییر دهند Be Careful: Built-in Methods can Mutate Objects

  • اشکال رایج: مراقب انواع داده های قابل تغییر به عنوان آرگومان های پیش فرض باشید Common Bug: Be Careful with Mutable Data Types as Default Arguments

  • نکته مهم: Immutable به این معنی نیست که عناصر آن تغییرناپذیر هستند Important Tip: Immutable doesn't mean that its elements are immutable

  • تغییرپذیری Mutability

  • مقدمه ای بر شبیه سازی Introduction to Cloning

  • کم عمق در مقابل کپی عمیق از یک شی Shallow vs. Deep Copy of an Object

  • تاپل های کلون شده شناسه یکسانی دارند - چرا؟ Cloned Tuples Have the Same id - Why?

  • شبیه سازی Cloning

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • رفع اشکال ناشی از جهش (Mini Project) Fix the Bug Caused by Mutation (Mini Project)

  • رفع اشکال ناشی از جهش (Mini Project) - نسخه PDF برای برنامه موبایل Fix the Bug Caused by Mutation (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

پروژه: با OOP یک بازی تیک تاک بسازید Project: Build a Tic-Tac-Toe Game with OOP

  • به Tic-Tac-Toe + پیش نمایش بازی خوش آمدید Welcome to Tic-Tac-Toe + Game Preview

  • کلاس حرکت The Move Class

  • تست کلاس حرکت Testing the Move Class

  • کلاس بازیکن: ویژگی ها، ویژگی ها و دریافت حرکت The Player Class: Attributes, Properties, and Get Move

  • کلاس بازیکن: حرکت تصادفی کامپیوتر را دریافت کنید The Player Class: Get Random Computer Move

  • تست کردن کلاس بازیکن Testing the Player Class

  • کلاس هیئت: تابلو را ایجاد و چاپ کنید The Board Class: Create and Print the Board

  • کلاس هیئت: ارسال حرکت The Board Class: Submit Move

  • کلاس تخته: بررسی کنید که آیا بازیکن برنده بازی است یا خیر The Board Class: Check if the Player Won the Game

  • تست بازی به پایان رسید Testing Check Game Over

  • Tie and Reset Board را بررسی کنید Check Tie and Reset Board

  • تست چک Tie و Reset Board Testing Check Tie and Reset Board

  • اجرای بازی Tic-Tac-Toe Tic-Tac-Toe Game Implementation

  • بازی و تست بازی تیک تاک ما Playing and Testing our Tic-Tac-Toe Game

  • کد بازی تیک تاک Tic-Tac-Toe Game Code

  • تحلیل و طراحی شی گرا چیست؟ What is Object-Oriented Analysis and Design?

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • تجزیه و تحلیل یک سناریو: یک برنامه فهرست کارها (پروژه کوچک) Analyze a Scenario: A To-Do List App (Mini Project)

  • تجزیه و تحلیل یک سناریو: یک برنامه فهرست کارها (پروژه کوچک) - نسخه PDF برای برنامه موبایل Analyze a Scenario: A To-Do List App (Mini Project) - PDF Version for Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

وراثت در پایتون (ویژگی ها) Inheritance in Python (Attributes)

  • به این بخش خوش آمدید | وراثت در پایتون (ویژگی ها) Welcome to this Section | Inheritance in Python (Attributes)

  • بخش منابع Section Resources

  • مقدمه ای بر وراثت Introduction to Inheritance

  • اصطلاحات و نکات مهم Important Terminology and Tips

  • وراثت در زمینه: از تکرار کد جلوگیری کنید Inheritance in Context: Avoid Code Repetition

  • ارث | مفهوم Inheritance | Concept

  • وراثت در پایتون (Syntax) Inheritance in Python (Syntax)

  • بررسی کنید که آیا یک کلاس زیر کلاس کلاس دیگری است یا خیر Check if a Class is a Subclass of another Class

  • نحوه به ارث بردن ویژگی ها با __init__() How to Inherit Attributes with __init__()

  • ارث | نحو Inheritance | Syntax

  • نحوه استفاده از "super" برای اشاره به سوپرکلاس How to use "super" to refer to the superclass

  • جلسه کدنویسی 1: کارمند و برنامه نویس Coding Session 1: Employee and Programmer

  • جلسه کدنویسی 2: شخصیت، بازیکن، دشمن Coding Session 2: Character, Player, Enemy

  • پستانداران و پاندا: وراثت صفت Mammal and Panda: Attribute Inheritance

  • وراثت چند سطحی Multilevel Inheritance

  • ارث چندگانه Multiple Inheritance

  • از سلسله مراتب تا کد پایتون (تمرین) From a Hierarchy to Python Code (Practice)

  • از سلسله مراتب تا کد پایتون (تمرین) - نسخه PDF برای برنامه موبایل From a Hierarchy to Python Code (Practice) - PDF Version for the Mobile App

  • پیتزا: کلاس ها و سلسله مراتب را تعریف کنید Pizza: Define the Classes & Hierarchy

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • ارث بازی ویدیویی (پروژه کوچک) Video Game Inheritance (Mini Project)

  • وراثت بازی ویدیویی (پروژه کوچک) - نسخه PDF برای برنامه موبایل Video Game Inheritance (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

وراثت در پایتون | مواد و روش ها Inheritance in Python | Methods

  • به این بخش خوش آمدید | وراثت در پایتون (روش ها) Welcome to this Section | Inheritance in Python (Methods)

  • بخش منابع Section Resources

  • مقدمه ای بر روش وراثت Introduction to Method Inheritance

  • روش وراثت | تئوری Method Inheritance | Theory

  • وراثت در پایتون (Syntax) | مواد و روش ها Inheritance in Python (Syntax) | Methods

  • نحوه فراخوانی متدی از سوپرکلاس How to Call a Method of the Superclass

  • مثال: وراثت روش Example: Method Inheritance

  • روش وراثت | نحو Method Inheritance | Syntax

  • یک روش سوپرکلاس را فراخوانی کنید Call a Method of the Superclass

  • نادیده گرفتن روش Method Overriding

  • جلسه کدنویسی: نادیده گرفتن روش Coding Session: Method Overriding

  • سردرگمی رایج: نادیده گرفتن در مقابل بازنویسی Common Confusion: Overriding vs. Overwriting

  • نادیده گرفتن روش Method Overriding

  • نادیده گرفتن روش Method Overriding

  • روش اضافه بار Method Overloading

  • پلی مورفیسم Polymorphism

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • ماشین‌های فروش و وراثت روش (مینی پروژه) Vending Machines and Method Inheritance (Mini Project)

  • ماشین‌های فروش و ارث (Mini Project) - نسخه PDF برای اپلیکیشن موبایل Vending Machines and Inheritance (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

کار با چندین فایل: آموزش استفاده از Import Statements در Python Working with Multiple Files: Learn to Use Import Statements in Python

  • به این بخش خوش آمدید | کار با چندین فایل Welcome to this Section | Working with Multiple Files

  • بخش منابع Section Resources

  • مقدمه ای بر صورت های واردات Introduction to Import Statements

  • نحو 1: نحوه وارد کردن تمام عناصر یک ماژول Syntax 1: How to Import all the Elements of a Module

  • نحو 2: نحوه وارد کردن عناصر فردی یک ماژول Syntax 2: How to Import Individual Elements of a Module

  • بیانیه های واردات Import Statements

  • بیانیه های واردات عام Wildcard Import Statements

  • نحوه وارد کردن ماژول ها و عناصر با نام های جدید How to Import Modules and Elements with New Names

  • انواع واردات Types of Imports

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • انواع اظهارنامه واردات (مینی پروژه) Types of Import Statements (Mini Project)

  • انواع بیانیه های واردات (پروژه کوچک) - نسخه PDF برای برنامه موبایل Types of Import Statements (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

Docstrings: یاد بگیرید که چگونه کلاس ها و روش های خود را مستند کنید Docstrings: Learn How to Document your Classes and Methods

  • به این بخش خوش آمدید | رشته های مستند Welcome to this Section | Docstrings

  • بخش منابع Section Resources

  • معرفی سریع: استثناها Quick Intro: Exceptions

  • مقدمه ای بر Docstrings Introduction to Docstrings

  • Docstrings | تئوری Docstrings | Theory

  • نحوه نوشتن Docstrings | نحو و محتوا How to Write Docstrings | Syntax and Content

  • Docstrings چند خطی Multi-line Docstrings

  • Docstrings | نحو و محتوا Docstrings | Syntax and Content

  • نحوه مستندسازی کلاس ها در پایتون How to Document Classes in Python

  • مثال: نحوه مستندسازی یک کلاس Example: How to Document a Class

  • مثال: توابع مستندسازی Example: Documenting Functions

  • Docstring Styles Docstring Styles

  • خواندن Docstrings با help() و __doc__ Read Docstrings with help() and __doc__

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • Docstrings for a Flight (Mini Project) Docstrings for a Flight (Mini Project)

  • Docstrings for a Flight (Mini Project) - نسخه PDF برای برنامه موبایل Docstrings for a Flight (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

روش های ویژه: قابلیت های ویژه را به کلاس های خود اضافه کنید Special Methods: Add Special Functionality to Your Classes

  • به این بخش خوش آمدید | روش های خاص Welcome to this Section | Special Methods

  • بخش منابع Section Resources

  • مقدمه ای بر روش های خاص Introduction to Special Methods

  • اصطلاحات: روش های "داندر". Terminology: "Dunder" Methods

  • روش های خاص | مبانی Special Methods | Basics

  • گشت و گذار در اسناد پایتون Tour of the Python Documentation

  • __str__() __str__()

  • __str__() در مقابل __repr__() __str__() vs. __repr__()

  • __لن__() __len__()

  • __اضافه کردن__() __add__()

  • __getitem__() __getitem__()

  • __bool__() __bool__()

  • اتصال مربوطه: __bool__() و __len__() Relevant Connection: __bool__() and __len__()

  • روش های مقایسه غنی Rich Comparison Methods

  • __iter__() و __next__() __iter__() and __next__()

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • بخش مسابقه | دانش خود را بررسی کنید Section Quiz | Check Your Knowledge

  • اضافه بار اپراتور (مینی پروژه) Operator Overloading (Mini Project)

  • بارگذاری بیش از حد اپراتور (Mini Project) - نسخه PDF برای برنامه موبایل Operator Overloading (Mini Project) - PDF Version for the Mobile App

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

پروژه نهایی: پیاده سازی یک لیست پیوندی | OOP و ساختارهای داده Final Project: Implement a Linked List | OOP and Data Structures

  • به پروژه نهایی خوش آمدید Welcome to the Final Project

  • مقدمه ای بر ساختارهای داده Introduction to Data Structures

  • گره ها در ساختارهای داده (نظریه + کد) Nodes in Data Structures (Theory + Code)

  • تمرین: دنباله ای از گره ها ایجاد کنید Practice: Create a Sequence of Nodes

  • مقدمه ای بر لیست های پیوندی Introduction to Linked Lists

  • کلاس لیست پیوندی (ویژگی ها) Linked List Class (Attributes)

  • یک گره را در ابتدای یک لیست پیوندی درج کنید Insert a Node at the Beginning of a Linked List

  • یک گره را در وسط یک لیست پیوندی قرار دهید Insert a Node in the Middle of a Linked List

  • چرا خود.سر.بعدی؟ Why self.head.next?

  • یک گره را در انتهای یک لیست پیوندی قرار دهید Insert a Node to the End of a Linked List

  • تمرین: گره ها را با رشته ها وارد کنید Practice: Insert Nodes with Strings

  • از یک لیست پیوندی عبور کنید تا عناصر آن را چاپ کنید Traverse a Linked List to Print its Elements

  • گره های یک لیست پیوندی را بشمارید Count the Nodes of a Linked List

  • یک گره در یک لیست پیوندی پیدا کنید Find a Node in a Linked List

  • یک گره را از ابتدای یک لیست پیوندی حذف کنید Delete a Node from the Beginning of a Linked List

  • یک گره را از وسط یک لیست پیوندی حذف کنید Delete a Node from the Middle of a Linked List

  • یک گره را از انتهای لیست پیوندی حذف کنید Delete a Node from the End of a Linked List

  • چالش: موارد لیست پیوندی را به ترتیب معکوس چاپ کنید Challenge: Print Linked List Items in Reverse Order

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

تبریک | شما دوره را کامل کردید Congratulations | You Completed the Course

  • (منبع PDF) راهنمای مطالعه (PDF Resource) Study Guide

  • تبریک می گویم! نشان خود را جمع آوری و به اشتراک بگذارید Congratulations! Collect and Share Your Badge

(اختیاری) پروژه: ساخت یک بازی کارت جنگ با استفاده از OOP (Optional) Project: Build a War Card Game using OOP

  • به ساخت بازی کارت جنگ خوش آمدید Welcome to Build a War Card Game

  • به این پروژه خوش آمدید: ساخت بازی کارت جنگ Welcome to this Project: Build a War Card Game

  • الزامات پروژه Project Requirements

  • کلاس کت و شلوار The Suit Class

  • کلاس کارت: بیایید کارت ها را به بازی اضافه کنیم The Card Class: Let's Add Cards to the Game

  • کلاس عرشه: بیایید یک عرشه بسازیم The Deck Class: Let's Make a Deck

  • کلاس بازیکن: بازیکنان انسان و کامپیوتر The Player Class: Human and Computer Players

  • کلاس بازی (قسمت 1): تنظیمات اولیه و ویژگی های بازی The Game Class (Part 1): Initial Game Setup and Attributes

  • کلاس بازی (قسمت 2): نبرد را شروع کنید The Game Class (Part 2): Start the Battle

  • کلاس بازی (قسمت 3): این یک تساوی است! جنگ را شروع کنیم The Game Class (Part 3): It's a Tie! Let's start the War

  • کلاس بازی (قسمت 4): اتمام بازی را بررسی کنید، آمار را چاپ کنید، بازیکن خوش آمدید The Game Class (Part 4): Check Game Over, Print Statistics, Welcome Player

  • فاز آخر: بیایید بازی را کامل و اجرا کنیم Final Phase: Let's Complete and Run the Game

  • چالش: کمتر از سه کارت Challenge: Less than Three Cards

  • منابع پروژه Project Resources

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

  • نشان خود را جمع آوری کنید و تجربه خود را به اشتراک بگذارید Collect Your Badge and Share your Experience

آیتم های برنامه درسی بایگانی شده Archived Curriculum Items

  • به بخش آرشیو خوش آمدید Welcome to the Archived Section

  • به این بخش خوش آمدید | تجزیه و تحلیل و طراحی شی گرا Welcome to this Section | Object Oriented Analysis and Design

  • بخش منابع Section Resources

  • بخش منابع Section Resources

  • ابزارها: IDLE، PyCharm یا سایر IDE ها Tools: IDLE, PyCharm, or Other IDEs

  • اهداف تحلیل و طراحی شی گرا Goals of Object-Oriented Analysis and Design

  • تجزیه و تحلیل شی گرا: رهنمودها Object Oriented Analysis: Guidelines

  • مقدمه ای بر تیک تاک Introduction to Tic-Tac-Toe

  • پیش نمایش بازی Tic-Tac-Toe Tic-Tac-Toe Game Preview

  • کلاس بازیکن Player Class

  • کلاس هیئت مدیره (قسمت 1): تجزیه و تحلیل و ویژگی ها Board Class (Part 1): Analysis and Attributes

  • کلاس تابلو (قسمت 2): تابلو را چاپ کنید Board Class (Part 2): Print the Board

  • عبارت 'pass' در پایتون The 'pass' Statement in Python

  • کلاس هیئت مدیره (بخش 3): حرکت را ارسال کنید و بررسی کنید که آیا حرکت معتبر است یا خیر Board Class (Part 3): Submit Move and Check if the Move is Valid

  • کلاس تخته (قسمت 4): بررسی کنید که آیا بازیکن بازی را برده است یا خیر Board Class (Part 4): Check if the Player has Won the Game

  • بازی Tic-Tac-Toe را اجرا کنید Implement the Tic-Tac-Toe Game

  • بازیکن: سازنده متفاوت Player: A Different Constructor

  • مینی پروژه | آموزشگاه موسیقی - سوابق دانشجویی Mini Project | Music School - Student Records

  • پروژه کوچک (نسخه PDF برای برنامه موبایل) Mini Project (PDF Version for Mobile App)

  • سخنرانی پاداش Bonus Lecture

  • چالش: بررسی کراوات Challenge: Check Tie

نمایش نظرات

نظری ارسال نشده است.

آموزش Python OOP - برنامه نویسی شی گرا برای مبتدیان
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
17.5 hours
283
Udemy (یودمی) udemy-small
08 دی 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
13,734
4.7 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Estefania Cassingena Navone Estefania Cassingena Navone

توسعه دهنده نرم افزار، مدرس و نویسنده فنی

Udemy (یودمی)

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

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