به بیان فنی، «پایتون» (Python) یک زبان برنامهنویسی «شیگرا» (Object-Oriented) و «سطح بالا» (High-Level) با «معناشناسی» (Semantic) پویای یکپارچه شده برای وب و ساخت و توسعه «نرمافزارهای کاربردی» (Application software) است. این زبان برنامهنویسی در زمینه «توسعه سریع نرمافزارهای کاربردی» (Rapid Application Development) دارای جذابیت بالایی محسوب میشود زیرا دارای «انواع پویا» (Dynamic Types) و «انقیاددهنده پویا» (Dynamic Binding) است.
پایتون، زبان برنامهنویسی نسبتا سادهای محسوب میشود که یادگیری آن به دلیل دارا بودن «نحو» یکتایی که بر قابلیت خوانایی تمرکز و تاکید دارد آسان است. خواندن و ترجمه کدهای نوشته شده به زبان برنامه نویسی پایتون نسبت به دیگر زبانها برای «توسعهدهندگان» (Developers) سادهتر محسوب میشود. این موضوع به نوبه خود هزینههای نگهداری و توسعه برنامههای نوشته شده به این زبان را کاهش میدهد زیرا امکان همکاری تیمها بدون مواجهه با موانع زبانی و وجود تجربیات کاری متفاوت در میان اعضای تیم را به دست میدهد.
علاوه بر این، زبان برنامه نویسی پایتون از «ماژولها» (modules) و «بستهها» (packages) استفاده میکند، بدین معنا که برنامههای این زبان قابل طراحی به سبک «ماژولار» (modular) هستند و کدهای نوشته شده در یک پروژه در پروژههای گوناگون دیگر نیز قابل استفاده مجدد محسوب میشوند. هنگامی که کاربری ماژول یا بسته مورد نیاز خود را توسعه داد، خودش یا دیگر علاقمندان (در صورتی که کد در اختیار عموم قرار بگیرد) میتوانند آن را برای استفاده در دیگر پروژهها گسترش دهند. «ایمپورت» (Import) و «اکسپورت» (Export) کردن این ماژولها نیز کار آسانی است.
یکی از قابل توجهترین مزایای زبان برنامه نویسی پایتون آن است که «کتابخانه» (Library) و «مفسر استاندارد» (Standard Interpreter) آن، هم به صورت «دودویی» (binary) و هم «منبع» (source) به رایگان در دسترس همگان قرار دارند. در پایتون هیچ انحصاری وجود ندارد، زیرا همه ابزارهای لازم برای آن در کلیه «پلتفرمهای اصلی» (Main Platforms) موجود هستند. بنابراین، پایتون برای توسعهدهندگانی که نمیخواهند دغدغه هزینههای بالای توسعه را داشته باشند گزینهای جذاب به شمار میآید.
برای افرادی که تصور میکنند مطالبی که بالاتر پیرامون زبان برنامه نویسی پایتون ارائه شد فراتر از دانش آنها است جای نگرانی وجود ندارد. کلیه جزئیات لازم در این رابطه در ادامه همین مطلب به طور کامل و به بیان ساده تشریح خواهد شد. آنچه افراد برای ادامه مطالعه این مطلب نیاز دارند بدانند این است که پایتون یک زبان برنامهنویسی برای توسعه نرمافزارهای وب و نرمافزارهای کاربردی از جمله برنامههای موبایل محسوب میشود، یادگیری آن آسان و ابزارهای اساسی آن به رایگان در دسترس است. این امر موجب میشود که زبان برنامه نویسی پایتون تقریبا برای همه افراد در دسترس و قابل استفاده باشد. افرادی که زمان کافی را به یادگیری زبان برنامه نویسی پایتون تخصیص دهند، میتوانند برنامههای جالبی با این زبان خلق کنند.
دلایل محبوبیت پایتون چه هستند؟
میانگین درآمد برنامهنویسهای پایتون ممکن است بالا باشد، اما این موضوع نمیتواند چرایی اینکه بسیاری از افراد آن را به عنوان زبان برنامهنویسی محبوب خود انتخاب میکنند توضیح دهد. در ادامه دلایل محبوبیت زبان برنامه نویسی پایتون به طور جزئیتر مورد بررسی قرار خواهد گرفت.
۱. غولهای فناوری دنیا این زبان را دوست دارند:
«گوگل» (Google)، «یوتیوب» (YouTube)، «فیسبوک» (Facebook)، «ناسا» (NASA)، «دراپباکس» (Dropbox)، «یاهو» (Yahoo)، «موزیلا» (Mozilla)، «کورا» (Quora)، «اینستاگرام» (Instagram)، «ردیت» (Reddit) و IBM تنها برخی از نامهای بزرگ فناوری به شمار میآیند که از زبان برنامه نویسی پایتون به طور گسترده برای اهداف گوناگون استفاده میکنند و به طور مستمر به دنبال استخدام مهندسهای پایتون هستند.
گوگل از زبان برنامه نویسی پایتون برای هر کاری از پیادهسازی الگوریتمهای «هوش مصنوعی» (Artificial Intelligence) گرفته تا «موتور اجرای برنامه گوگل» (App Engine Cloud) استفاده میکند. این در حالیست که ۹۹/۹٪ کد دراپباکس شامل «بکاند سرور» (server backend)، کلاینت دسکتاپ، «منطق کنترلگر وبسایت» (website controller logic)، «بَکاند رابط برنامهنویسی کاربردی» (API backend) و ابزارهای تحلیلی آن به زبان برنامه نویسی پایتون نوشته شدهاند.
۲. به طور گسترده در یادگیری ماشین مورد استفاده قرار میگیرد:
با رشد علم داده، محبوبیت زبان برنامه نویسی پایتون به عنوان یک زبان علمی اوج گرفت. کتابخانههای «یادگیری ماشین» (Machine Learning) بسیار زیادی به زبان برنامه نویسی پایتون نوشته شدهاند. در عین حال، ابزارهای زیادی نیز با فراهم آوردن امکان استفاده از زبان برنامه نویسی پایتون، انجام پروژههای یادگیری ماشین را آسانتر میسازند.
۳. مناسب بودن برای مبتدیها:
زبان برنامه نویسی پایتون انتخاب خیلی خوبی برای برنامهنویسهای مبتدی محسوب میشود زیرا ساده است و نحو انعطافپذیری دارد. با زبان برنامه نویسی پایتون، میتوان به سرعت و سادگی برنامههای قابل استفادهای ساخت. احساس دستاورد داشتن سریع فاکتور بسیار مهمی در یادگیری برنامهنویسی است.
۴. پایتون میتواند تنها زبان مورد نیاز کاربر باشد:
از آنجا که پایتون یک زبان برنامهنویسی همه منظوره است، کاربر میتواند تقریبا برای کلیه پروژهها از آن استفاده کند. مطابق گزارش «Skill Up 2018: Developer Skills»، پایتون زبان برنامهنویسی اسکریپتی است که به همه از «کارشناسان تست نفوذ» (pentesters) گرفته تا مهندسان «دواُپس» (DevOps engineers) درجه قابل توجهی از کنترل کردن را میدهد و آنها را قادر به حل مسائل گوناگون میسازد. میتوان از زبان برنامه نویسی پایتون برای ساخت وبسایتها، توسعه «واسط گرافیکی کاربر» (GUI | Graphical User Interface) و تحلیل داده استفاده کرد. این یعنی پایتون قابلیتهای زبانهای برنامهنویسی گوناگون را در یکجا گرد هم آورده و در واقع آنچه خوبان همه دارند زبان برنامه نویسی پایتون به تنهایی دارد و بنابراین میتواند تنها زبانی باشد که یک برنامهنویس برای کلیه وظایف لازم در حین توسعه به آن نیاز دارد.
ویژگیهای پایتون
زبان برنامه نویسی پایتون را اغلب میتوان با زبان «پِرل» (Perl)، «روبی» (Ruby)، «پیاچپی» (PHP) و «جاوا» (Java) مقایسه کرد. این موضوع به دلیل قدرت فوقالعاده پایتون به عنوان یک زبان «شیگرا» است. زبان برنامه نویسی پایتون همچنین دارای ویژگیهای شایان توجهی دیگری است که آن را به زبانی جذاب برای توسعهدهندگان مبدل میکند. برخی از این ویژگیها در ادامه بیان شدهاند.
زبان برنامه نویسی پایتون از «نحو» (syntax) ظریفی استفاده میکند که موجب میشود خوانایی برنامههای نوشته شده به این زبان بالا باشد. این امر به آن دلیل به وقوع میپیوندد که زبان برنامه نویسی پایتون به جای نزدیک بودن به زبانی که کامپیوترها برای خواندن و تفسیر کد استفاده میکنند، یک زبان سطح بالا محسوب میشود که به زبان انسان نزدیک است (به گونهای که انسانها کلمات را در زبان انگلیسی مینویسند نزدیک است). برای مثال، دستور «print» آنچه را به آن داده شود – در زمان اجرا – نمایش میدهد.
پایتون زبانی ساده و استفاده از آن آسان است، بدین معنا که بالا آوردن برنامهها و اجرای آنها راحت خواهد بود. به همین دلیل است که پایتون زبانی ایدهآل برای ساخت پیشنمونه (پروتوتایپ | prototype) و دیگر وظایف برنامهنویسی اد-هاک (اد-هوک | Ad-Hoc) محسوب میشود. این ویژگی برای تعمیر و نگهداری نرمافزار نیز بسیار مفید است. زبان برنامه نویسی پایتون با «کتابخانههای استاندارد پایتون»، پشتیبانی قابل توجهی را برای انواع وظایف برنامهنویسی مانند «همگامسازی» (syncing) با مرورگرهای وب، جستوجو از طریق متن و ویرایش فایلها ارائه میکند. در اکثر زبانهای برنامهنویسی دیگر، نیاز به ساخت این محتوا از پایه است.
این زبان دارای یک حالت تعاملی است که تست کردن نرمافزار برای تکههای کوتاه کد را آسان میسازد. حتی یک محیط توسعه یکپارچه نیز برای زبان پایتون و همراه با آن ارائه میشود (این ویرایشگر کد به زبان پایتون نوشته شده و همراه با بسته پایتون در سیستمعامل ویندوز و مک نصب میشود). محیط توسعه، راهاندازی را بسیار آسانتر و سریعتر میسازد.
زبان برنامه نویسی پایتون را میتوان با افزودن ماژولهای جدید توسعه داد، حتی اگر این ماژولها در زبان های C یا C++ کامپایل شده باشند. بهتر آنکه این ماژولها را میتوان پس از ساخت به عنوان «میانبُرها» (shortcuts) در پروژههای آتی مورد استفاده قرار دارد.
پایتون در یک برنامه کاربردی قابل «توکار» (Embedding) شدن است. این امر یک رابط قابل برنامهنویسی برای کاربران آن نرمافزار کاربردی فراهم میکند. این ویژگی در شرایطی که کاربر برنامهای برای آموزش کدنویسی میسازد و یا در پروژههایی که نیاز به کار با پایتون در ترمینال است بسیار مفید محسوب میشود.
زبان برنامه نویسی پایتون با گستره وسیعی از کامپیوترها و سیستمهای عامل مانند گنو/لینوکس، ویندوز، MacOS، بسیاری از برندهای یونیکس، OS/2 و بسیاری از دیگر گزینهها سازگار است. علاوه بر این، پایتون از رابط مشابهی در کلیه این پلتفرمها استفاده میکند و این یعنی جابهجایی بین آنها برای کاربر آسان خواهد بود. پایتون واقعا رایگان است زیرا دانلود یا استفاده از آن هیچ هزینهای ندارد و هیچ هزینه پروانهای (licensing fees) برای آن وجود ندارد. همچنین، این زبان به طور آزادانهای قابل ویرایش و بازتوزیع است، زیرا علارغم آنکه «حق نشر» (کپی رایت | Copyright) دارد، همراه با پروانههای متنباز ارائه میشود.
کاربردهای پایتون چیست؟
پایتون یک زبان برنامهنویسی همه منظوره است. به عبارت دیگر، میتوان از پایتون تقریبا برای همه کار استفاده کرد. نکته حائز اهمیت آن است که پایتون یک «زبان تفسیری» (interpreted language) به شمار میآید، بدین معنا که کد نوشته شده به این زبان در زمان اجرا واقعا به فرمت قابل خواندن برای کامپیوتر ترجمه نمیشود. این در حالی است که اغلب زبانهای برنامهنویسی این تبدیل را حتی پیش از اجرا انجام میدهند. این نوع از زبان با عنوان «زبان اسکریپتنویسی» (scripting language) نیز نامیده میشود زیرا هدف از ساخت آن در ابتدا برای استفاده در پروژههای کوچک بوده.
مفهوم «زبان اسکریپتنویسی» از بدو پیدایش آن به شکل قابل توجهی تغییر کرده، زیرا پایتون برای نوشتن نرمافزارهای کاربردی و تجاری بزرگ به جای پروژههای کوچک مورد استفاده قرار میگیرد. استفاده از پایتون در پروژههای گوناگون با افزایش محبوبیت آن رشد قابل توجهی کرده است. بسیاری از برنامههای کاربردی و پلتفرمهای تحت وب از پایتون استفاده میکنند، از این جمله میتوان به «موتور جستوجوی گوگل» (Google’s Search Engine)، «یوتیوب» (YouTube) و سیستمهای تراکنش مبتنی بر وب «بازار بورس نیویورک» (New York Stock Exchange | NYSE) اشاره کرد. برکسی پوشیده نیست که زبان برنامهنویسی که برای سیستم بازار بورس مورد استفاده قرار میگیرد باید بسیار قدرتمند باشد.
«ناسا» (NASA) نیز از پایتون برای برنامهنویسی تجهیزات و ماشینآلات فضایی خود بهره میبرد. فوقالعاده است، نه؟ پایتون همچنین برای پردازش متن، نمایش اعداد یا تصاویر، حل معادلات علمی و ذخیرهسازی داده مورد استفاده قرار میگیرد. به بیان کوتاه، این زبان در پشت صحنه برای پردازش عناصر زیادی که کاربر ممکن است نیاز داشته باشد یا در دستگاه خود با آن مواجه شود – از جمله دستگاههای موبایل- مورد استفاده قرار میگیرد. پایتون در دامنههای وسیعی کاربرد دارد. در ادامه برخی از این موارد بیان میشوند.
توسعه وب و اینترنت
پایتون قابلیتهای زیادی را برای توسعه وب فراهم میکند که از این جمله میتوان به مواردی که در ادامه آمده اشاره کرد.
چارچوبهایی مانند «جنگو» (Django)، «پیرامید» (Pyramid) و «چریپای» (CherryPy) «میکرو چارچوبها» (Micro-frameworks) مانند «فلسک» (Flask) و «باتل» (Bottle) سیستمهای مدیریت محتوای پیشرفته مانند «پلون» (Plone) و «جنگو سیاماس» (django CMS). کتابخانههای استاندارد پایتون از پروتکلهای اینترنتی متعددی پشتیبانی میکنند که برخی از آنها در زیر آمدهاند.
HTML و XML JSON پردازش ایمیل پشتیبانی از FTP، IMAP و دیگر پروتکلهای اینترنتی «رابط سوکت» (Socket Interface) با استفاده آسان و دیگر بستههای قدرتمندی که برای توسعه وب قابل استفادهاند از جمله موارد زیر:
Requests: یک کتابخانه قدرتمند برای کلاینت HTTP BeautifulSoup: یک پارسر HTML است که انواع HTMLهای عجیب و غریب را مدیریت میکند. Feedparser: برای parsing خوراکهای RSS/Atom Paramiko: پیادهسازی پروتکل SSH2 Twisted Python: چارچوبی برای برنامهنویسی شبکه ناهمگام
چرا آموزش زبان برنامه نویسی پایتون؟
دو جین زبان برنامه نویسی وجود دارد که هر کدام برای انواع مختلف پروژهها مناسبند. پایتون از این بابت منحصر به فرد محسوب میشود که برای آموزش و یادگیری بسیار ساده است، به خصوص برای کودکان و نوجوانان که تجربهی برنامه نویسی ندارند.
ما برای شروع آموزش برنامه نویسی به کودکان و نوجوانان، زبان پایتون را توصیه میکنیم، چون بسیاری از زبانهای برنامه نویسی از نشانهها و کلمات اختصاری استفاده میکنند، اما زبان پایتون این طور نیست.
چرا آموزش برنامه نویسی پایتون برای کودکان و نوجوانان اهمیت دارد؟
به گفتهی استیو جابز مدیر عامل کمپانی اپل « همهی افراد باید کدنویسی یاد بگیرند، چون کدنویسی به شما یاد میدهد که چگونه فکر کنید. »
مدیران فیس بوک پیشبینی میکنند که تا ۲۰ سال آینده بیشتر مشاغل به برنامه نویسی وابستگی داشته باشند. اما برنامه نویسی فقط یک مهارت شغلی نیست با آموزش برنامه نویسی کودکان میتوانند کارهایی مثل بازی سازی، انیمیشن سازی و حل کردن مسالههای جذاب را انجام دهند. به علاوه آموزش برنامه نویسی بسیار سرگرم کننده است و مهارت حل کردن مشکلات در زندگی را افزایش میدهد.
پایتون زبان برنامه نویسی مبتدی و دوستانه
زبان های برنامه نویسی محدودی هستند که با ظاهری ساده و گرافیکی طراحی شدهاند. که به آنها زبانهای « block » گفته میشود. « scratch » یک مثال ساده از این زبانهای برنامه نویسی است که برای کودکان سنین دبستان تا راهنمایی و حتی دبیرستان مناسب بوده و میتوانند آن را ارتقا بدهند.
اما باز هم هیچ نمونهای مانند پایتون که بتواند قدرت پیدا شدن در موتورهای جستجو و یوتیوب را داشته باشد نداریم. دانشمندان نیز از این زبان برنامه نویسی برای درج اطلاعات با حجم بالا استفاده میکنند و مهندسان، شبکههای مرتبط و سایر انواع هوش مصنوعی را با این زبان روان مینویسند.
بهترین راه برای آموزش برنامه نویسی پایتون برای کودکان و نوجوانان چیست؟
راههای مختلفی برای آموزش برنامه نویسی پایتون یا زبانهای دیگر به کودکان و نوجوانان وجود دارد و با وجود انواع ابزارهای منظم، بسیار سخت است که یکی از آنها را که موثر تر است انتخاب کرد.
تحرک و بازی از موفقترین روشهای آموزش به کودکان و نوجوانان محسوب میشود. بدون ایجاد انگیزه، فضای جذاب و مناسب ،کودکان و نوجوانان از آموزش خسته میشوند. به همین دلیل بهتر است از روشهایی همراه با بازی در کلاسهای آنلاین یا حضوری استفاده کرد.
نوشتن امتیازها و به چالش کشیدن کودکان و نوجوانان و تغیین جایزه برای آنها میتواند ایدههای خوبی باشد، که توجه کودکان را برای آموزش برنامه نویسی پایتون جلب میکند. زمانی که برای آموزشهای آنلاین پایتون، آموزشگاهها، بوت کمپها و سایر ورک شاپها تحقیق میکنید، گزینهای را انتخاب کنید تا مبنای آموزشها بر پایهی بازی باشد.
پروژه محور بودن پایتون توجه کودکان را برای آموزش برنامه نویسی پایتون جلب میکند و همچنین آموزش پایتون به نوجوانان برای افزایش علاقه و فعالیت در برنامه نویسی میتواند، نقطه آغازین باشد.
بسیاری از بزرگترین برنامه نویسها که در تکنولوژی صاحب نام و برند هستند، اولین پروژههایشان را برای دوستان و خانواده انجام دادهاند. مارک زوریخبرگ، بیل گیتس و استیو جابز را میتوان مثال زد. آنها از برنامه نویسی برای ساخت چیزهای کوچک و شخصی لذت میبردند و آرزوی ساخت یک بازی و وبسایت را داشتند و فهمیدند که ساخت این رویاها با یادگیری زبان برنامه نویسی مثل پایتون، ممکن است.
روش های کسب مهارت در برنامه نویسی پایتون
مهارت برنامه نویسی پایتون هم مثل سایر مهارتها، به تمرین نیاز دارد. کودکانی که از پایتون برای ساخت پروژههایشان و حل کردن مشکلاتشان استفاده میکنند، تمرینها و آموزشها را فراموش نمیکنند. تمرین معجزه میکند پس به اینکه کودک چقدر پایتون تمرین میکند توجه کنید.
میتوان آموزش برنامه نویسی پایتون به کودکان و نوجوانان را روی تخته وایتبرد انجام داد. آموزش برنامه نویسی پایتون نیازی به شروع با کامپیوتر ندارد. ابزارهای بسیار زیادی برای این آموزش وجود دارد که میتوانند جایگزین کامپیوتر شوند. تختههای وایتبرد و گچی برای شروع عالی هستند. بسیار آسان و موثر است تا کدها را روی تخته بنویسید و بعد از آن کودک و نوجوان پشت کامپیوتر بشیند.
به چالش کشیدن دستگاهها در دنیای اطراف که در پایتون وجود دارد میتواند برای کودکان و نوجوانان جذاب باشد. ارتباطات بین همه چیز رو به افزایش است. روباتها، پهبادها و هزاران دستگاه دیگر که می توانند به بلوتوث یا به شبکههای وایرلس متصل شوند. برای داشتن کودکانی با ویژگی مهندسها و مکانیکها این دستگاهها فرصتهای نامحدودی برای ماجراجویی به کودک میدهند.
کودک و نوجوان شما هم میتواند برنامه نویسی پایتون را یاد بگیرد. با تلاش و کمی زمان، این امکان وجود دارد تا کودک شما هم آموزش برنامه نویسی پایتون را یاد بگیرد. این یک مهارت حرفهای و منحصر به فرد است که میتواند در زندگی آینده برایش بسیار مفید باشد.
دوره های بسیار مفیدی در زمینه برنامه نویسی در مرکز مهارت آموزی فرهنگ مانا برگزار می شود. برای شروع برنامه نویسی با ما همراه باشید.
نمونه پروژه ی مهارت آموز نمونه دوره پیشرفته پایتون، فاطمه میراشرفی عزیز با تدریس عالی استاد حمیدرضا رضا: