در سالهای اخیر شاهد گسترش چشمگیر زبان برنامهنویسی Python در میان توسعهدهندگان بودهایم و این در حالی است که هم توسعهدهندگان تازهکار و هم حرفهایها از این زبان برنامهنویسی با آغوش باز استقبال کردهاند. پایتون به سادگی، کارایی و چندکاره بودن مشهور است و شرکتهای بزرگی مانند گوگل، اسپاتیفای، پینترست و اینستاگرام از پایتون برای ساخت نرمافزارهایشان -از اسکریپتها گرفت تا اپلیکیشنهای تحت وب- استفاده میکنند و این اپلیکیشنها نیز خود در سرتاسر جهان میلیونها کاربر دارند. در این پست، نگاهی به پکیجهای مختلفی که در برخی از معروفترین و مشهورترین اپلیکیشنها به کار گرفته شدهاند میاندازیم تا چشمانداز بهتری از قابلیتهای مختلف این زبان محبوب پیدا نمایید.
Django
جنگو به طور قطع یکی از فریمورکهای توسعه یافتهٔ وب است که کاربردهای متنوعی دارا است. اگر به یک بکاند برای وبلاگ شخصی نیاز دارید یا میخواهید برای کسبوکار خود یک سیستم مدیریت محتوای خوبی دست و پا کنید، جنگو میتواند به شما کمک کند تا از هیچ، یک وب اپلیکیشن کاملاً مجهز و قابل اعتماد درست کنید.
Requests
API ساده و گیرای این لایبرری باعث شده پکیج Requests هزاران بار دانلود شود و در ردهٔ بهترین پکیجهای موجود برای پایتون قرار گیرد. با استفاده از ریکوئستز، ایجاد درخواستهای HTTP تنها نیازمند ۱ خط کدنویسی است! همچنین دریافت و تجزیهٔ (Parsing) یک ریسپانس نیز به همان سادگی انجام میشود.
Selenium
سلنیم یک فریمورک وب است که زبانهای بسیار زیادی از جمله پایتون را پشتیبانی میکند. یک توسعهدهنده با استفاده از سلنیوم و از طریق کمی کدنویسی میتواند باز کردن یک صفحهٔ وب، پر کردن فیلدها، کلیک کردن روی دکمهها و پر کردن فرمها را به صورت خودکار کند.
Pillow
پیلو یک لایبرری تصویری پایتون (PIL) است. از پیلو میتوان برای ساخت تصاویر مرکب، اعمال فیلترهای مختلف، تغییر شفافیت، قرار دادن متن، تبدیل و تغییر نوع فایل تصویری و بسیاری مقاصد دیگر بهره برد. اگر میخواهید تصاویر خود را ویرایش کنید، پیلو یکی از بهترین پکیجها برای این منظور است.
Matplotlib
همانطور که از نامش پیدا است، Matplotlib یک لایبرری است که برای رسم توابع و مدلهای ریاضیاتی مورد استفاده قرار میگیرد. Matplotlib با استفاده از Numpy میتواند پلاتها، نمودارهای ستونی و بسیاری از دیگر فرمهای نمایشی را تنها با ۱ خط کد در اختیار شما قرار دهد. از آنجا که Matplotlib اپنسورس است، میتواند با نرمافزارهای دیگر موجود در بازار مانند MATLAB و Mathematica تکمیل شود (برای آشنایی بیشتر با Numpy به مقالهٔ درآمدی بر آمار با استفاده از لایبرری NumPy و زبان برنامهنویسی Python مراجعه نمایید).
BeautifulSoup4
اگر میخواهید HTML را به عناصر مشخصی تجزیه (Parse) کنید، قطعاً BeautifulSoup4 پکیجی است که باید سراغ آن بروید. گاهیاوقات استفاده از اکسپرشنهای معمولی برای انجام کار مورد نظر کافی نیستند و نمیتوانند داکیومنتهای HTML را با دقتی که مد نظر شما است پردازش کنند. BeautifulSoup4 ویژگیهای بسیاری دارد که با کمک آن میتوانید این کارها را به راحتی انجام دهید.
PyInstaller
بسیاری از توسعهدهندگان به این فکر هستند که بتوانند کدهای خود را بدون نیاز به پایتون پکیج کنند و بر روی کامپیوترهای مختلف اجرا کنند. در این زمینه، PyInstaller میتواند بسیار کارآمد باشد به طوری که با استفاده از PyInstaller، پورت کردن یک برنامه به عنوان یک برنامهٔ مجزای قابلاجرا (Standalone Executable)، به سادگی اجرای یک دستور در کامندلاین یا ترمینال -در لینوکس- خواهد بود.
PyMongo
PyMongo لایبرری پایتون کلاینت برای پایگاه دادهٔ MongoDB است. ساختار NoSQL پکیج PyMongo تا حد زیادی به فرمت دیکشنریهای پایتون نزدیک است که در آن هر Key به Value مشخصی مربوط میباشد. در نتیجه، برای ذخیره کردن ورودیها در پایگاه داده، فقط باید دیکشنریهای موجود را ایمپورت کرد. ویژگیهای جانبی بسیاری در PyMongo وجود دارد که از جملهٔ آنها میتوان به کوئریهای پیشرفته اشاره کرد.
Pygame
Pygame مدتها است که در توسعهٔ بازی در پایتون (Python Game Development) توسط گیم دولوپرها مورد استفاده قرار میگیرد. با استفاده از این موتور بازیسازی، کنترل رویدادهای ورودی، مدیریت اسپرایتها (Sprite) و رِندر کردن سورسکد بسیار ساده خواهد بود. Pygame همچنین قابلیتهای دیگری از جمله درایوهای سیدی، دوربینها و دستگاههای صوتی نیز دارا است.
PyWin32
لایبرری PyWin32 ماژولهای مختلفی را در اختیار توسعهدهندگان قرار میدهد که با استفاده از آنها میتوانند به سطوح پایین ویندوز دسترسی داشته باشند. PyWin32 با داشتن قابلیتهای بسیار متنوع به راحتی میتواند فایلها را دستکاری کند، سختافزارها را تحت کنترل بگیرد، اجازهٔ دسترسی را مدیریت کرده و نهایتاً با تکنیکهای برنامهنویسی، رابط گرافیکی ویندوز را ایجاد کند. به طور کلی، میتوان گفت که سادگی رابط کاربردی PyWin32 باعث شده این پکیج نسبت به برنامهنویسی C و ++C ترجیح داده شود.