آرشیو بلاگ, عمومی

آشنایی با نرم افزار پایتون – قسمت اول

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

python.png hamyarit.com python

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

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

یادگیری پایتون ساده است

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

پایتون به‌شکل گسترده‌ای به کار گرفته شده و پشتیبانی می‌شود

زبان پایتون دو ویژگی یک زبان خوب یعنی محبوبیت و کاربرد گسترده را توأمان با یکدیگر در اختیار دارد. کافی است به آمارهای منتشر شده از سوی منابع معتبری همچون Tiobe و پروژه‌هایی که روی سایت گیت‌هاب قرار گرفته و با پایتون نوشته شده‌اند نگاهی داشته باشید تا متوجه شوید این زبان تا چه اندازه نزد طراحان محبوب است. (شکل 1) 
برنامه‌های نوشته شده با زبان پایتون روی سیستم‌ عامل‌ها و سکو‌های اصلی و سیستم ‌عامل‌های خاص‌تر به‌خوبی اجرا می‌شوند. بخش اعظمی از کتابخانه‌های بزرگ و سرویس‌های مبتنی بر API به اشکال مختلفی پیوندهای مرتبط با زبان پایتون را در خود جای داده‌اند، به ‌طوری که به زبان پایتون اجازه داده‌اند از طریق واسط‌ها با این سرویس‌ها ارتباط برقرار یا به‌طور مستقیم از کتابخانه‌ها استفاده کند. در حالی که پایتون را در گروه سریع‌ترین زبان‌های برنامه‌نویسی نمی‌توان قرار داد و شاید کند بودن نقطه ضعف اصلی این زبان به شمار می‌رود، اما در مقابل تطبیق‌پذیری بسیار بالایی دارد.
پایتون زبانی نیست که برای انجام کارهای عادی و پیش پا افتاده مورد استفاده قرار گیرد. از این زبان به‌منظور ساخت برنامه‌های کاملاً حرفه‌ای با کیفیت بالا، برنامه‌های مستقل و سرویس‌های وب می‌توان استفاده کرد. اسکریپت‌هایی که با این زبان نوشته می‌شوند، به‌سادگی قادرند فرآیندهای بزرگی را مدیریت و خودکارسازی کنند. 

پایتون برای انجام چه کارهایی مورد استفاده قرار می‌گیرد؟

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

از پایتون در ارتباط با برنامه‌نویسی‌های عادی و رایج نیز می‌توان استفاده کرد

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

زبان پایتون در ارتباط با یادگیری ماشینی و علم داده‌ها نیز به کار گرفته می‌شود

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

پایتون در ارتباط با وب سرویس‌ها و توابع RESTful نیز به کار گرفته می‌شود

کتابخانه‌های محلی زبان پایتون به‌همراه چهارچوب‌های وب بخش ثالث سریع‌ترین و راحت‌ترین راهکار را در اختیار طراحان وب قرار داده‌اند تا بدون دردسر خاصی بتوانند توابع REST چندخطی یا یک سایت داده‌محور مملو از اطلاعات را با استفاده از زبان پایتون طراحی کنند. REST (سرنام Representational State Transfer) یک معماری وب سرویس است که از پروتکل HTTP برای انتقال اطلاعات میان کلاینت و سرور استفاده می‌کند. جدیدترین نگارش‌های عرضه شده از زبان پایتون به‌شکل قدرتمندی از عملیات غیرهم‌زمان پشتیبانی می‌کند. پشتیبانی از عملیات غیرهم‌زمان به‌معنای آن است که سایت‌ها قادرند ده‌ها هزار درخواست در هر ثانیه را از طریق کتابخانه‌های درستی که مورد استفاده قرار می‌دهند مدیریت کنند. 

پ.ن :گزارشی که سایت tiobe در آگوست 2017 منتشر کرد، نشان داد که پایتون هنوز هم جزء پنج زبان برتر برنامه‌نویسی است. 

پایتون در ارتباط با برنامه‌نویسی Metaprogramming به کار گرفته شود

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

پایتون یک زبان چسبنده است

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

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


ادامه این مقاله بزودی منتشر خواهد شد.

author-avatar

درباره احمد اسلامی فر

مهندس احمد اسلامی فر متولد 15 بهمن سال 1376 کارشناس الکترونیک و دبیر اسبق انجمن علمی مهندسی برق دانشکده مهندسی دانشگاه آزاد اسلامی واحد دزفول می باشد. وی از سال 1388 فعالیت تخصصی خود را در زمینه رباتیک آغاز و دارای مقام های اول تا چهارم شهرستانی ، استانی و کشوری بوده و به 3 سال نیز به عنوان مربی و سرگروه تیم رباتیک فعالیت داشت است همچنین با توجه به علاقه شخصی خود از سال 1394 نیز به صورت تخصصی در زمینه تدریس دوره های مکالمه زبان انگلیسی در موسسات آزاد و پژوهشسرای فرهیختگان به فعالیت و تربیت دانش آموزان پرداخته است. برخی از سوابق علمی ایشان به شرح زیر است - دبیر انجمن علمی دانشگاه آزاد اسلامی از سال 1395 تا 1399 - مربی و سرتیم رباتیک و پژوهشگر محصل از سال 1390 الی 1395 - شرکت مستمر در نمایشگاه های شهرستانی از سال 1389 تا سال 1395 - حضور و شرکت در مسابقات رباتیک شهرستانی ،استانی و کشوری از سال 1388 تا سال 1395 و ... همچنین ایشان در زمینه تحقیقات و مقالات نیز فعالیت داشته و دارای تعدادی مقاله در ژورنال ملی می باشد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *