زبان برنامه نویسی پایتون (Python) یکی از زبان های معروف و بسیار کاربردی است. از برنامه نویسان مبتدی تا حرفه ای همه به استفاده از این زبان گرایش دارند. کاربردهای زبان پایتون حوزه وسیعی از دنیای فناوری را در بر می گیرد. در این مقاله می خواهیم نگاهی کوتاه به Python داشته باشیم و کمی بیشتر با آن آشنا شویم.
سال 1991 نسخه اول زبان برنامه نویسی پایتون به انتشار عمومی رسید. خیدو فان روسوم، برنامه نویس هلندی، کسی بود که کار طراحی این زبان را انجام داد. او پیاده سازی اولیه پایتون را در سال 1989 آغاز کرد و تقریبا دو سال برای تکمیل آن زحمت کشید. او در موسسه ملی تحقیقات ریاضی و رایانه (CWI) مشغول به کار بود و با این هدف پایتون را توسعه داد که جانشینی برای زبان ABC ایجاد کند. روسوم تا سال 2018 رهبری پروژۀ پایتون را بر عهده داشت اما پس از آن از مسئولیت خود کناره گیری کرد.
در سال 2000 پس از گذشت نه سال از عرضه نسخه اول، پایتون 2.0 منتشر شد. این نسخه چند ویژگی مهم و جدید به python اضافه کرد که شامل بازیافت حافظه با قابلیت شناسایی دور (cycle) و پشتیبانی از یونیکد می شد.
هشت سال پس از انتشار پایتون 2.0 نسخه سوم این زبان عرضه شد. در این نسخه یک سری تغییرات در بعضی دستورات کدنویسی پایتون به وجود آمد ولی به طور کلی یک بازنویسی از نسخۀ قبل بود. به همین خاطر نحو یا Syntax نسخه دوم و سوم بسیار به هم شبیه هستند. این موضوع باعث شده تا مهاجرت از نسخه های قدیمی به جدید برای برنامه نویسان راحت تر باشد. شما کافی است با ویژگی ها و توابع جدید آشنا شوید تا بتوانید از پایتون 3.0 یا بالاتر استفاده کنید.
پشتیبانی از پایتون 2.7 در سال 2015 رسما به پایان رسید. اگرچه بعد از آن همچنان افرادی هستند که از این نسخه استفاده می کنند اما برای برای شروع به کار توصیه می شود در صورت امکان نسخه جدیدتر را یاد بگیرید و از مزایای آن بهره مند شوید!
زبان برنامه نویسی پایتون از نوع مفسری و شی گرا به شمار می رود. در زبان های مفسری به جای استفاده از کامپایلر، مفسر کار ترجمه را انجام می دهد. برای استفاده از زبان پایتون و Python Shell می توانید به سایت رسمی آن مراجعه کنید. در کنار این مورد، برنامه ای تحت عنوان Pycharm نیز وجود دارد که یک محیط یکپارچه با تمام امکانات لازم برای کدنویسی به این زبان در اختیار شما قرار می دهد. جزئیات این نرم افزار مهم را در Jetbrains بخوانید.
حالا که کمی در مورد زبان برنامه نویسی پایتون می دانیم بیایید وارد جزئیات شویم! کمی در مورد کدهای این زبان بخوانیم و ببینیم کلمات کلیدی و قواعد Python به چه صورت هستند. تعداد 33 کلمۀ کلیدی در Python 3.7 وجود دارد که همۀ آنها را در تصویر زیر مشاهده می کنید.
این کلمات شامل مقدارها، اوپراتورها، کلیدواژه های ساختاری، مقادیر بازگشتی و... می شوند. در کدهای پایتون شما می توانید متغیرهایی با استفاده از حروف انگلیسی کوچک و بزرگ و ارقام و زیر خط (_) به وجود بیاورید. در نامگذاری متغیرها باید توجه داشت که مثل اکثر زبان های سطح بالا نام یک متغیر نمی تواند با عدد شروع شود یا از کلمات کلیدی به عنوان متغیر استفاده کرد. استثنای دیگر عدم به کار بردین کاراکترهایی مانند ! و @ و $ و... است. اگر چنین علامت هایی به کار ببرید با خطای نحوی روبرو می شوید.
کدنویسی در پایتون به نسبت دیگر زبان های معروف برنامه نویسی راحت تر و آسان تر است که در مورد آن در بخش مربوط به مزایا بیشتر صحبت خواهیم کرد. اگر بخواهیم سادگی Python را تنها با یک قطعه کد نشان دهیم می توانیم از برنامۀ معروف "Hello World" مثال بیاوریم. این برنامه با کدهای پایتون به شکل زیر نوشته می شود:
به همین سادگی شما نه نیازی به ایجاد آکولاد ({}) یا درج علامت هایی مثل سمی کولن (;) دارید و نه تابعی تحت عنوان main برای برنامه کوچکی نظیر این مورد لازم است.
کتابخانه های غنی و ارزشمندی در زبان پایتون وجود دارند که بسیار کاربردی هستند. از جمله این کتابخانه ها می توان به Tensorflow اشاره کرد که به خصوص در پروژه های مربوط به یادگیری ماشین از آن استفاده می کنند. کتابخانۀ دیگری با نام Penulum به شما کمک می کند با استفاده از ناحیه زمانی، تاریخ و زمان را به کاربران تحویل دهید. PyMongo از کتابخانه های مهم دیگر به حساب می آید. توسعه دهندگان از این کتابخانه برای کار با پایگاه داده بهره MongoDB می گیرند.
بعد از آشنایی با تاریخچه و ساختار این زبان نوبت به کاربردهای آن می رسد. همانطور که در ابتدای این مقاله گفتیم از پایتون در حوزه های مختلفی استفاده می شود. گستردگی کاربردها باعث شده تا این زبان انعطاف پذیری بالایی پیدا کند. مواردی که در ادامه از آنها نام می بریم تنها بخش بسیار کوچکی از کاربردهای Python هستند.
یکی از با اهمیت ترین کاربردهای پایتون در زمینه یادگیری ماشین است. یادگیری ماشین یا Machine Learning روشی است که در آن با استفاده از الگوریتم هایی مشخص به ماشین دستوراتی می دهیم به شکلی که آن ماشین بیاموزد یک عمل را چگونه انجام دهد. نحو سادۀ زبان پایتون و سرعت آن باعث شده تا در این علم بیش از سایر زبان های برنامه نویسی مورد استفاده قرار بگیرد. به همین خاطر کتابخانه ها و فریم ورک های زیادی درباره یادگیری ماشین برای این زبان وجود دارد.
امروزه شبکه های اجتماعی در زندگی روزمره افراد نقش مهمی ایفا می کنند. از این شبکه ها برای ارتباط اشخاص با یکدیگر، آموزش، اشتراک گذاری و ذخیره فایل، سرگرمی و... استفاده می شود. در این شبکه ها بات ها می توانند بخش زیادی از کارهای کاربران را انجام دهند. شما هم با بعضی از آنها در تلگرام برخورد کرده اید. همان بات هایی که کار آمارگیری، جمع آوری داده، سرگرمی یا تولید لینک را انجام می دهند. پایتون یکی از زبان هایی است که می تواند برای شما مشابه چنین بات های را ایجاد کند.
با اینکه خیلی از توسعه دهندگان وب برای طراحی سایت به سراغ زبان PHP می روند اما این بدان معنی نیست که فقط با این زبان می شود سایت ساخت. در زبان پایتون نیز کتابخانه ها و فریم ورک های متعددی وجود دارد که برای طراحی سایت به کار گرفته می شوند.
برای ساخت اپلیکیشن های موبایل معمولا از زبان اندروید استفاده می شود ولی فریم ورک هایی در پایتون وجود دارد که قادر هستند از پس این کار هم بر بیایند. زبان پایتون برای ساخت برنامه موبایل از فریم ورک Kivy استفاده می کند.
زبان های برنامه نویسی زیادی در دنیا برای ساخت بازی های کامپیوتری وجود دارد. موتورهای بازی سازی پیشرفته ای هستند که با کمک آنها می توان محیط های یک بازی را طراحی کرد. پایتون در این میان به خاطر داشتن کتابخانه های قدرتمند و همچنین رایگان برای آن دسته از برنامه نویسانی که در ابتدای راه هستند و بودجه کافی برای هزینه زیاد در اختیار ندارند یک گزینۀ ایده آل است.
در این بخش به شکل خلاصه مهم ترین دلایلی را که باعث شده است تا زبان پایتون محبوب شود بررسی می کنیم.
پیش از این گفتیم که کدنویسی در زبان پایتون در مقایسه با بیشتر زبان ها ساده تر است. همین موضوع به نقطۀ قوتی برای آن تبدیل شده است. بسیاری از افراد که تازه شروع به برنامه نویسی کرده اند ابتدا کار با پایتون را یاد می گیرند. کدهای خوانا و دستورات نزدیک به زبان انگلیسی علاوه بر بالا بردن خوانایی باعث می شود برای اجرای دستورات خطوط کد کمتری بنویسید.
وجود صدها کتابخانه متنوع در زمینه های گوناگون از ابزارهای وب سرویس گرفته تا اینترنت، رابط سیستم عامل، هوش مصنوعی و... حوزۀ کاری تمام برنامه نویسان را تحت پوشش قرار داده است. به کار گرفتن این کتابخانه ها توسط توسعه دهندگان موجب صرفه جویی در زمان می شود.
توسعه دهندگان بسیاری در سرتاسر جهان با پایتون برنامه های خودشان را می نویسند. اگر شما یک برنامه نویس باشید و حین انجام یک پروژه با مشکل رو به رو شوید، وجود یک جامعۀ آماری بزرگ بسیار مفید خواهد بود. چرا؟ برای اینکه به سادگی می توانید در انجمن ها و سایت های بزرگی مانند stackoverflow مشکل خود را مطرح کنید و از دیگران در این زمینه کمک بگیرید. منابع متعدد آموزشی از سمت دیگر به شما کمک می کند تا زودتر به جواب برسید.
سرعت اجرای برنامه ها در این زبان به دلیل مفسری بودن پایین تر از زبان های کامپایلری است اما توسعه برنامه ها با پایتون زمان کمتری می برد. غول های دنیای فناوری مثل شرکت گوگل، فیسبوک، پی پال، آمازون و... از python حمایت می کنند و همین می تواند دلیل قانع کننده ای برای شما باشد تا به آن اطمینان کنید.
در پایان بد نیست تا با برخی از فریم ورک های معروف پایتون آشنایی پیدا کنید. ماژول ها و بسته هایی که در این فریم ورک ها وجود دارند به توسعۀ برنامه سرعت می بخشند. بدین ترتیب توسعه دهندگان امکان این را دارند که فقط روی منطق برنامه تمرکز داشته باشند.
جنگو فریم ورکی است که برای برنامه های وب open source به زبان پایتون به کار گرفته می شود. ماژول های جنگو به برنامه نویس امکان این را می دهد تا کار ساخت و طراحی سایت را با استفاده از یک منبع موجود انجام دهند. به این ترتیب دیگر نیازی نیست کدها از پایه نوشته شوند.
Django در واقع یک زبان قالب است. توسعه دهندگان آن، جنگو را طوری طراحی کرده اند تا افرادی که با HTML و CSS کار می کنند مثل هر طراح یا توسعه دهنده وب Front-end راحت باشند و به سادگی آن را بیاموزند.
یک فریم ورک کاربردی است. از آن بیشتر در پروژه های جمع آوری و تجزیه و تحلیل داده استفاده می شود. فریم ورک Web2Py قابلیت مدیریت داده را در اختیار توسعه دهندگان می گذارد. یادگیری Web2Py بسیار آسان است و می تواند کدهای شما را کوتاه تر کند اما باید توجه کنید که تمام استانداردها نیز در آن رعایت نمی شوند.
برنامه نویسان از CherryPy برای تولید اپلیکیشن های وب بر روی پلتفرم های مختلف استفاده می کنند. این فریم ورک از الگوی شی گرایی در ساختار خود بهره می گیرد. اگر یک استارت آپ با بودجۀ محدود مد نظر باشد، CherryPy یک گزینۀ بسیار مناسب است. از طرفی می تواند نقش یک سرور وب را هم ایفا کند. مزیت دیگری که وجود دارد این است که CherryPy از هر نوع تکنولوژی برای قالب سازی، دسترسی داده و... کمک می گیرد.