
با آموزش حضوری و آنلاین مقدماتی تا پیشرفته پایتون , محبوبترین زبان برنامهنویسی دنیا در محیطی عملی کاربردی و پروژه محور وارد دنیای برنامه نویسی شوید
مشاهده بیشتر
اگه پایتون بلدی و میخوای وارد دنیای هوش مصنوعی بشی، این دوره مخصوص توئه! با آموزش پروژهمحور و همراهی اساتید حرفهای، یاد بگیر چطور از هوش مصنوعی تو زمینههایی مثل پزشکی، بورس و املاک استفاده کنی.
مشاهده بیشتر
اگه یادگیری ماشین بلدی و آمادهای وارد چالشهای حرفهای بشی، دوره یادگیری عمیق پروژهمحور برای توئه! طراحی شبکههای عصبی و کار روی پروژههای واقعی مثل تشخیص تصویر و پردازش زبان رو اینجا یاد میگیری.
مشاهده بیشتر
با این دوره، Django رو از پایه شروع کن و به یک حرفهای تبدیل شو! یاد بگیر چطور با معماری MVT، پایگاه داده و RESTful API کار کنی، پروژههای واقعی بسازی و آنها رو روی وب سرور مستقر کنی!
مشاهده بیشترمشخصات مقاله
آموزش کلاس ها در پایتون
آموزش کلاس ها در زبان برنامه نویسی پایتون
کلاس ها ابزاری برای بسته بندی داده و عملکرد با یکدیگر را ارائه می کنند. ساخت یک کلاس جدید، یک نوع جدید از شی می سازد، که امکان ساخت نمونه های جدیدی از آن نوع را فراهم می کند. هر نمونه کلاس می تواند ویژگی هایی متصل به خود برای نگه داری حالت خود داشته باشد. همچنین نمونه کلاس ها می توانند متدهایی (تعریف شده توسط کلاس خود) برای تغییر حالت خود داشته باشند.
در مقایسه با سایر زبان های برنامه نویسی، مکانیزم کلاس در پایتون با حداقل تعداد نحو و مفاهیم (syntax and semantics) جدید، کلاس اضافه می کند. این مکانیزم، ترکیبی از مکانیزم کلاس موجود در C++ و Modula-3 است.
کلاس های پایتون تمامی ویژگی های استاندارد برنامه نویسی شی گرا را ارائه می کنند : مکانیزم وراثت در کلاس، چندین کلاس پایه را مجاز می شمارد. یک کلاس مشتق شده می تواند هر متدی از کلاس(ها) پایه خود را تغییر دهد (override) ، و یک متد می تواند متدی از یک کلاس پایه با نام مشابه را فراخوانی کند. اشیا می توانند دربردارنده حجم و انواع داده دلخواه باشند. همانطور که برای ماژول ها صادق است، کلاس ها در طبیعت پویای پایتون نیز سهیم هستند. آنها در زمان اجرا ساخته می شوند، و پس از ساخت می توانند تغییر کنند.
در اصطلاحات C++ ، معمولا اعضای کلاس (از جمله اعضای داده) عمومی (public) هستند
و تمامی توابع عضو مجازی (virtual) هستند. همانند Modula-3 ، هیچ خلاصه نویسی برای ارجاع به اعضای اشیا، از متد آنها وجود ندارد. تابع متد، توسط آرگومان اول که صریحا شی را نمایش می دهد، که به طور ضمنی توسط فراخوانی فراهم شده است، اعلان می شود.
همانند Smalltalk ، کلاس ها خود شی هستند. این مسئله مفاهیم واردات (importing) و تغییر نام را ارائه می کند. بر خلاف C++ و Modula-3 ، انواع داخلی (built-in) می تواند به عنوان کلاس های پایه برای توسعه توسط کاربر استفاده شود. همچنین، همانند C++، اکثر عملگرهای داخلی با نحو خاص (عملگرهای ریاضی، زیرنویس ها و غیره)می توانند برای نمونه کلاس دوباره تعریف شوند.
(به دلیل فقدان اصطلاحاتی که به طور جهانی درباره کلاس ها پذیرفته شده باشد، من گاه به گاه از واژه های C++ و Modula-3 استفاده می کنم. من از واژه های Modula-3 استفاده خواهم کرد، زیرا مفاهیم شی گرایی آن نسبت به C++ به پایتون نزدیک تر است، اما انتظار دارم تعداد کمی از خواننده ها درباره آن شنیده باشند.)
سخنی درباره نام ها و اشیا در Python
: اشیا دارای فردیت هستند، و چندین نام (در چندین حوزه) می توانند به همان شی محدود شوند. این امر با عنوان نام مستعار (aliasing) در سایر زبان ها شناخته شده است.
معمولا در نگاه اول به پایتون، از این موضوع استقبال نمی شود، و می توان هنگام کار با انواع پایه تغییر ناپذیر(اعداد، رشته ها و چندتایی ها (tuples)) آن را به صورت ایمن نادیده گرفت. هر چند، نام مستعار یک اثر شگفت انگیز محتمل روی مفاهیم کد پایتونی دارد که این کدها شامل اشیای تغییر پذیر مانند لیست ها، دیکشنری ها و بیشتر انواع دیگر هستند.
از آنجایی که نام مستعار از بعضی جهات مانند اشاره گر رفتار می کند، معمولا از این قابلیت به نفع برنامه استفاده می شود. برای مثال، پاس دادن یک شی ارزان است، زیرا تنها یک اشاره گر توسط پیاده سازی انتقال می یابد، و اگر یک تابع شی ای که به عنوان یک آرگومان پاس داده شده است را تغییر دهد، فراخواننده (caller) تغییرات را خواهد دید—این امر الزام پاس دادن مکانیزم ها توسط دو آرگومان متفاوت (مانند Pascal) را از بین می برد.