
پایتون زبانی ساده!
یادگیری کمدردسر پایتون به برنامهنویسان تازهکار اجازه داده است با صرف کمی وقت اصول اولیه این زبان را یاد بگیرند و اولین برنامه کاربردی خود را با این زبان طراحی کنند. این زبان به گونهای ساخته شده است که ترکیب نحوی آن کاملاً خوانا است و برنامهنویسان بدون مشکل خاصی قادرند منطق دستورات را بهشکل صریح و روشنی درک کنند و برای همکاران خود شرح دهند. سادگی، خوانایی و دور بودن از پیچیدگیهای رایج باعث شده است تا پایتون به گزینه ایدهآلی برای تدریس در مدارس و مراکز آموزشی تبدیل شود. همین سادگی و دور بودن از پیچیدگیها است که باعث شده است پایتون اولین انتخاب برنامهنویسانی باشد که تازه به دنیای برنامهنویسی قدم گذاشتهاند. تسلط بر زبان پایتون بهمعنای آن است که طراحان میتوانند زمان بیشتری را برای فکر کردن درباره یک مشکل و پیدا کردن راه حلی برای آن صرف و در مقابل زمان کمتری برای فکر کردن در مورد ترکیب نحوی و پیچیدگیهای دستورات این زبان صرف کنند. همچنین، زمانی که یک برنامه به طور کامل نوشته شد، طراحان با صرف کمترین زمان ممکن میتوانند منطق به کار گرفته در کدها را برای دیگران تشریح کنند، بهدلیل آنکه همه چیز روشن و گویا است.
کاربرد و پشتیبانی وسیع از زبان پایتون
زبان پایتون دو ویژگی یک زبان خوب یعنی محبوبیت و کاربرد گسترده را توأمان با یکدیگر در اختیار دارد. کافی است به آمارهای منتشر شده از سوی منابع معتبری همچون Tiobe و پروژههایی که روی سایت گیتهاب قرار گرفته و با پایتون نوشته شدهاند نگاهی داشته باشید تا متوجه شوید این زبان تا چه اندازه نزد طراحان محبوب است. (شکل ۱)
برنامههای نوشته شده با زبان پایتون روی سیستم عاملها و سکوهای اصلی و سیستم عاملهای خاصتر بهخوبی اجرا میشوند. بخش اعظمی از کتابخانههای بزرگ و سرویسهای مبتنی بر API به اشکال مختلفی پیوندهای مرتبط با زبان پایتون را در خود جای دادهاند، به طوری که به زبان پایتون اجازه دادهاند از طریق واسطها با این سرویسها ارتباط برقرار یا بهطور مستقیم از کتابخانهها استفاده کند. در حالی که پایتون را در گروه سریعترین زبانهای برنامهنویسی نمیتوان قرار داد و شاید کند بودن نقطه ضعف اصلی این زبان به شمار میرود، اما در مقابل تطبیقپذیری بسیار بالایی دارد.
پایتون زبانی نیست که برای انجام کارهای عادی و پیش پا افتاده مورد استفاده قرار گیرد. از این زبان بهمنظور ساخت برنامههای کاملاً حرفهای با کیفیت بالا، برنامههای مستقل و سرویسهای وب میتوان استفاده کرد. اسکریپتهایی که با این زبان نوشته میشوند، بهسادگی قادرند فرآیندهای بزرگی را مدیریت و خودکارسازی کنند.
موارد استفاده از پایتون
پایتون یک زبان برنامهنویسی چندمنظوره و شیگرا است که برای توسعه سایتهای پویا، تحلیل دادهها و نوشتن برنامههای دسکتاپ میتوان از آن استفاده کرد. اما اساسیترین کاربرد پایتون در ارتباط با اسکریپتنویسی و خودکارسازی است. پایتون تنها یک جایگزین برای اسکرپیتهای شل یا فایلهای دستهای نیست، بهواسطه آنکه از پایتون برای تعامل خودکار با مرورگرهای وب، برنامههای گرافیکی و پیکربندی سیستمها از طریق ابزارهایی همچون Salt و Ansible میتوان استفاده کرد.
برنامه نویسی عادی با پایتون
طراحان و توسعهدهندگان نرمافزار این توانایی را دارند تا هر دو گروه برنامههای کنسولی و گرافیکی را با پایتون ایجاد و آنها را بهشکل خوداجرا مستقر کنند. پایتون به طور ذاتی این توانایی را ندارد تا یک فایل باینری مستقل را از یک اسکریپت ایجاد کند. اما پکیجهای ثالثی شبیه به cx_Freeze یا PyInstaller این کاستی پایتون را جبران کردهاند.
استفاده ازپایتون در ارتباط با یادگیری ماشینی و علم داده
در چند سال اخیر فرآیند تجزیه و تحلیل دادههای مرتبط با فناوری اطلاعات بیش از اندازه پیچیده شده است، به همین دلیل زبان پایتون و در تعقیب آن زبان آر به ستارگان یکهتاز این میدان تبدیل شدهاند. با توجه به محبوبیت بیش از اندازه زبان پایتون امروزه شاهدیم که طیف گستردهای از کتابخانههای مورد استفاده در یادگیری ماشین و علم دادهها یک واسط یا به عبارت دقیقتر رابطهای ویژه زبان پایتون را ارائه کردهاند.
به کار گیری زبان پایتون در ارتباط با وب سرویسها و توابع RESTful
کتابخانههای محلی زبان پایتون بههمراه چهارچوبهای وب بخش ثالث سریعترین و راحتترین راهکار را در اختیار طراحان وب قرار دادهاند تا بدون دردسر خاصی بتوانند توابع REST چندخطی یا یک سایت دادهمحور مملو از اطلاعات را با استفاده از زبان پایتون طراحی کنند. REST (سرنام Representational State Transfer) یک معماری وب سرویس است که از پروتکل HTTP برای انتقال اطلاعات میان کلاینت و سرور استفاده میکند. جدیدترین نگارشهای عرضه شده از زبان پایتون بهشکل قدرتمندی از عملیات غیرهمزمان پشتیبانی میکند. پشتیبانی از عملیات غیرهمزمان بهمعنای آن است که سایتها قادرند دهها هزار درخواست در هر ثانیه را از طریق کتابخانههای درستی که مورد استفاده قرار میدهند مدیریت کنند.

ویژگی های مثبت و منفی پایتون
ترکیب نحوی زبان پایتون کاملاً خوانا و تمیز است. به طور مثال، نوشتن یک برنامه استاندارد Hello world در نسخه ۳٫x این زبان به دور از هرگونه کد اضافی بهصورت (”!print(“Hello world نوشته میشود. زبان پایتون عناصر نحوی زیادی را ارائه میکند که در مدت زمان اجرای یک برنامه میتوان از آنها استفاده کرد. به طور مثال، برنامه ساده زیر را در نظر بگیرید که برای خواندن خطوط موجود در یک فایل متنی داخل یک شی List نوشته شده است.
with open(‘myfile.txt’) as my_file:
file_lines = [x.strip(‘\n’) for x in my_file]
ساختار with/as از جمله اشیای زبان پایتون به شمار میرود که به قابلیت Context manager تجهیز شده است. این ساختار راهکار کارآمدی برای تعریف یک شی تخصیص داده شده به یک بلوک از کدها و سپس آزاد کردن شی از بلوکی که به آن تخصیص داده شده است را ارائه میکند. در این مثال، شی my_file از طریق تابع open معرفی شده است. همان گونه که مشاهده میکنید، در زبان پایتون اغلب کارها با حداقل کدنویسی به سرانجام میرسند. در مثال فوق، بهجای آنکه به چند خط کدنویسی برای باز کردن یک فایل، خواندن خطوط مختلف و درنهایت بستن فایل نیاز داشته باشید، تنها از طریق دو خط این کارها را انجام دهید.

این تکنیک در مقایسه با بهکارگیری بلوک Try-finally سادهتر بوده و از خوانایی بیشتری برخوردار است. ساختار [x … for x in my_file] یکی دیگر از تکنیکهای مختص زبان پایتون است. این ترکیب نحوی به یک عنصر تخصیص داده شده که شامل عناصر دیگری است اجازه میدهد (در این مثال my_file و خطوطی که همراه با آن هستند) که تکرار شده و به عناصر تکرارشونده نیز (در این مثال x) اجازه میدهد که پردازش شده و به طور خودکار به داخل فهرست اضافه شوند. همانند هر زبان دیگری امکان انجام این کار از طریق یک حلقه for…. نیز امکانپذیر است، اما پایتون به شما اجازه میدهد کارها را با کمترین پیچیدگی و بالاترین خوانایی انجام دهید. شبیه به زبانهای دیگری همچون جاوا، سی شارپ و گو، زبان پایتون برای مدیریت حافظه از تکنیک Garbage collections استفاده میکند. در نتیجه برنامهنویس در زمان نوشتن اشیا و آزادسازی اشیا دغدغهای نخواهد داشت. بهطور معمول، فرآیند Garbage collection در پس زمینه و بهشکل خودکار انجام میشود. اما اگر مشکلی در این زمینه به وجود آید، برنامهنویس میتواند این فرآیند را بهطور دستی مدیریت کند. یکی دیگر از ویژگیهای جالب پایتون پویایی این زبان است. هر چیزی در این زبان همچون توابع و خود ماژولها بهعنوان یک شی شناخته و مدیریت میشوند. در حالی که این تکنیک تا حدودی سرعت را قربانی میکند، اما در مقابل اجازه میدهد کدهای سطح بالا را بهسادگی بنویسید. این تکنیک نهتنها به طراحان اجازه میدهد اشیای پیچیده را بهسادگی و از طریق تنها چند دستورالعمل مدیریت کنند، بلکه به آنها اجازه میدهد بخشهایی از برنامه را در صورت لزوم بهشکل انتزاعی تعریف کنند. شاید یکی از بهترین یا بدترین ویژگیهای زبان پایتون در ارتباط با فضای سفید است. توررفتگیها و رفتن به خطوط دوم در زبان پایتون تنها برای خوانایی برنامه نیست.
فضای سفید یکی از اصلیترین بخشهای ترکیب نحوی پایتون به شمار میرود. مفسران زبان پایتون برنامههایی را که بهشکل درستی از دندانهگذاری بهمنظور نشان دادن جریان کنترل برنامه استفاده نکرده باشند رد میکنند.