در این مقاله میخوایم به بررسی کتابخانه های پایتون توی ضمینه های کاربردی مختلف بپردازیم. همچنین کتابخانه ها و فریمورک های محبوب رو بررسی میکنیم .
برای یه برنامه نویس یا یه توسعه دهنده خیلی مهمه که کتابخانه ها و فریمورک های اون زبان رو بشناسه و ازشون استفاده کنه . پایتون توی زمینه های مختلف و بسیار زیادی کاربرد داره و بخاطر آسون بودن یادگیریش و خوانا بودن کدهاش توی سالهای اخیر پیشرفت بسیار زیادی داشته .
بیایید اول کار ابزارها و IDE هایی که برای توسعه و کدنویسی پایتون وجود دارند رو نام می بریم :
IDLE
Pycharm
Thonny
Atom
Spyder
PyDev
Eric
Sublime
Visual Studio Code
چند تا از کتابخانه ها در زمینه ی توسعه اپلیکیشن های دسکتاپ
Tkinter
PySide
Toga
PyQt
Kivy
Libavg
یکی از معروفترین و پر کاربرد ترین کتابخانه توی این زمینه Tkinter ، که کاربرد های بسیار زیادی داره . بیاید باهم این کتابخانه رو بررسی کنیم :
کتابخانه tkinter
یه کتابخانه رایگان پایتونه که برای برنامه نویسی GUI خیلی عالیه. محیطش بسیار عالی و آسونه و برای برنامه نویسی گرافیکی سمت کاربر استفاده میشه.
نصب کتابخانه tkinter
tkinter به صورت پیشفرض روی پایتون نصبه و نیازی نیست اون رو جداگونه نصب کنید. اگه به افزونه ها نیاز داشتید میتونید اون ها رو به راحتی نصب کنید . برای مثال برای نصب کتابخانه Pillow که یک کتابخانه مکمّل tkinter است ، کد زیر رو در Command prompt تایپ کنید :
python -m pip install pillow
نوشتن اولین برنامه !
همچنین میتونید کتابخانه tkinter رو به دو صورت زیر صدا بزنید ( import ) :
1- import tkinter
2- from tkinter import *
معمولا از روش دوم بیشتر استفاده میشه و رایج تر هم هست. چون توی حالت دوم دیگه نیازی نیست تک تک همه چیز رو صدا بزنید و وارد کنید . و تمام کتابخانه های وابسته نیز خودشون ایمپورت میشن. بعد از این که شما این کتابخانه رو صدا زدید میتونید نهایتا توی سه خط کد یه پنجره ایجاد کنید:
توی زمینه ی توسعه اپلیکیشن های تحت وب پایتون بسیار قدرتمنده و فریمورک ها و مینی فریمورک های خیلی زیادی داره . شاید براتون جالب باشه که بدونید وب سایت های مشهوری مثل: بازار و UDEMY و PICOFILE با فریمورک جنگو ایجاد شده اند.
برخی از این کتابخانه ها عبارتند از :
Django
Flask
Bottle
Pyramid
Web2py
Cherrypy
جنگو
جنگو یه فریمورک وب پایتون سطح بالاست. ساختار جنگو MVT است. معمولاگ اکثر استارتاپها و شرکتها از جنگو برای توسعه ی وب استفاده می کنند.
این فریمورک از پایگاه داده های مختلفی مثل Oracle و SQLite ،MySQL ،PostgreSQL، MQ Rabbit و Redis پشتیبانی میکنه که به راحتی میتونید از اون ها استفاده کنید استفاده کنید.
اگه مبتدی هستید و تازه میخواید شروع کنید شاید یادگیری جنگو به نظر کمی سخت بیاد اما نگران نباشید. منابع بسیار بسیار زیادی وجود دارند که میتونید با مطالعه ی اون ها آروم آروم همه چیز رو یاد بگیرید. یادگیری جنگو ممکنه 4 تا 16 هفته طول بکشه.
این مطلب راجع به جنگو کاملا شما را راهنمایی خواد کرد : جنگو چیست؟
کتابخانه های پایتون در زمینه محاسبات علمی
برای انجام محاسبات علمی هم پایتون کتابخانه های مختلفی داره و به راحتی میتونید ازشون استفاده کنید . از جمله این کتابخانه ها چند نمونه رو نام میبریم :
Numpy
SciPy
Pandas
Numpy
Numpy یک کتابخانه محبوب توی زمینه ی محاسباته . این کتابخانه پشتیبانی خوبی برای اشیاء آرایه ای با ابعاد مختلف و همچنین برای ماتریس ها رو داره. Numpy همچنین ابزارهای مختلفی رو برای مدیریت آرایه ها ارائه می ده. این کتابخانه بسیار سریعه و برای ماتریس و آرایه ها بسیار مناسبه.
ویژگی ها :
اجرای پروژه ها رو بسیار ساده تر و بدون دردسر می کنه. همچنین ویژگی هایی مثل دستکاری اشکال منطقی ، تبدیل گسسته فوریه ، جبر خطی کلی و بسیاری دیگه رو داره. اگه شما شکل هر آرایه N بعدی را تغییر بدید ، Numpy آرایه های جدیدی برای اون ایجاد میکنه و آرایه های قدیمی رو پاک میکنه. همچنین به راحتی می تونید Numpy رو با زبان های مثل C ، C ++ ادغام کنید.
پایتون برای بازی سازی هم کتابخانه های داره . چند نمونه ازاون ها پایین ذکر شده :
PyGame
ARCADE
Piglet
PyGame
PyGame ی مجموعه ای از توابع و کلاس های پایتونه که با اون میتونید عمدتا به نوشتن بازی های ویدئویی بپردازیدد. با این حال ، می تونید سایر برنامه های چند رسانه ای رو هم با PyGame بنویسید.
PyGame پروژه ایه که از سال 2000 در حال توسعه س و یادگیریش واقعا ساده س.
ویژگی ها
PyGame با SDL مجهز شده ، SDL مخفف (Simple DirectMedia Layer)به این معنیه که به شما این امکان رو می ده تا بازی های گرافیکی ایجاد کنید.
بازی ها و برنامه های کاربردی نوشته شده با PyGame با تمام سیستم عامل هایی که از SDL پشتیبانی میکنند سازگار است. اون ها همچنین می تونند روی اندروید و رایانه های همراه اجرا شوند.
یک جامعه بزرگ و کامل به نام PyWeek وجود داره که اونجا میتونید هزاران آموزش PyGame رو پیدا کنید.
پایتون در این زمینه هم ( یادگیری ماشین ) ابزارها و کتابخانه های فوق العاده ای داره که به شرح زیر هستند:
TensorFlow
Theano
PyTorch
Apache Spark
Chainer
NET
PyTorch
یک کتابخانه یادگیری ماشین پایتون اپن سورس است. این کتابخانه در ابتدا توسط گروه تحقیقاتی فیس بوک A.I توسعه داده شد. خوبی PyTorch اینه که میتونید ازش برای برنامه های چندمنظوره مثل بینایی رایانه و NLP (پردازش زبان طبیعی) نیز استفاده کنید.
ویژگی ها :
با PyTorch میتونید عملکردها و عملیات مختلف رو فورا ارزیابی کنید. در حالت نمودار ، PyTorch انتقال مطلق ، بهینه سازی سریع و یک محیط زمان اجرا C ++ را ارائه میده.
همچنین از async پشتیبانی خوبی داره. به این ترتیب می تونید عملکرد پروژه خودتون رو افزایش دهید. این کتابخانه همچنین امکان ارتباط P2P (همتا به همتا) رو هم فراهم میکنه ، که میتونه توسط پایتون و C ++ به دست بیاد.
PyTorch رو همچنین میتونید با سایر کتابخانه های محبوب نیز استفاده کنید. به راحتی می تونید اون رو با کتابخانه هایی مثل Cython و Numba ادغام کنید. با PyTorch ، می توانید مستقیماً به سیستم عامل ها ، مجسمه سازها و زمان اجرای برنامه های سازگار با ONNX دسترسی پیدا کنید.
برای پردازش تصویر پایتون ابزارهای فوق العاده قدرتمندی در این زمینه دارد که مهمترین و محبوبترین آنها به شرح زیر هستند.
Scikit‑Image
OpenCV
SimpleITK
Pillow
OpenCV
OpenCV یک کتابخانه پایتون برای پردازش تصویر است. این کتابخانه عملکردهای کلی رو که بر بینایی رایانه متمرکز هستند ، نظارت می کنه . اگرچه OpenCV مستندات مناسبی نداره ، اما به گفته بسیاری از توسعه دهندگان ، یکی از سخت ترین کتابخانه ها برای یادگیریه!
با این حال ، بسیاری از توابع داخلی رو به شما ارائه میده که از طریق اون ها شما به راحتی بینایی رایانه رو یاد می گیرید.
ویژگی ها :
OpenCV ایده آل برای پردازش تصویره که به شما این امکان رو میده همزمان هم تصاویر رو ببنید، هم ویرایش کنید و هم اصلاح کنید.
این کتابخانه این قابلیت رو ارائه میده که شما به راحتی اشیاء خاص رو توی هر فیلم یا تصویری تشخیص بدید. اشیایی مانند صورت ، چشم ، درختان و …
همچنین می تونید هر لحظه از یک فیلم رو ذخیره و ضبط کنید و همچنین ویژگی های مختلف اون مانند حرکت ، پس زمینه و غیره رو تجزیه و تحلیل کنید. OpenCV با بسیاری از سیستم عامل ها مثل Windows ، OS-X ، Open BSD و بسیاری دیگه سازگاری داره.
عدم پشتیبانی قدرتمند از توسعه اپلیکیشن های موبایل شاید به نوعی یه ضعف برای پایتون باشه ، اما برای این منظور هم پایتون ابزار های قدرتمندی داره:
Kivy
خزنده وب
فرآیند جمعآوری و تجزیه دادههای خام از وب با یه ابزار خودکار (خزنده) به عنوان خزنده وب شناخته میشه .پایتون مجموعه ای عالی و کامل از این ابزارها و کتابخانه ها رو برای خزنده داده ها از وب داره.
در اینجا به برخی از اون ها اشاره می کنیم:
Beautifulsoap
requests
scrapy
Requests
REQUESTS یک کتابخانه قدرتمند و کامل پایتون است . این کتابخانه ی پایتون یک نعمت واقعی برای همه س چون امکان استفاده از متداول ترین روش های HTTP رو داره. به راحتی می توانید درخواست های HTTP رو با استفاده از این کتابخانه بازرسی، سفارشی ، تأیید و پیکربندی کنید.
ویژگی ها :
این کتابخانه هم آسونه ، هم با ویژگی های زیادی که داره به شما این امکان رو می ده که سرصفحه های سفارشی ، تأییدیه گواهی SSL و پارامترها رو به سمت URL ها هدایت کنید.
با Requests ، می تونید به راحتی چندین فایل رو همزمان بارگذاری کنید. همچنین به شما این امکان رو میده تا در محیطی سریعتر و کارآمدتر کار کنید.
از مزایای اون، پشتیبانی پروکسی HTTP نیز هست که میتونید با استفاده از اون لذت ببرید. میتونید به کاربران خودتون اجازه بدید یه مسیر سریعتر و ساده تر به فایلها و صفحات شما داشته باشند. درخواستها همچنین دارای کوکی های با ارزش ، پاسخ های یونیک ، احراز هویت Basic/Digest ، ایمنی موضوع ، جمع آوری اتصال و موارد دیگه هم است.
علاوه بر کتابخانه هایی که نام بردیم ، پایتون تعداد بیشماری از کتابخانه های کاربردی در ضمینه های مختلفه که برای انجام هر کاری کمک ما خواهند بود .
از جمله کتابخانه های معروف و محبوب پایتون می توان موارد زیر را نام برد :
Fire
Arrow
FlashText
Scipy
SQLAlchemy
wxPython
Cirq
Luminoth
Delorean
BeautifulSoup
Bokeh
Poetry
Gensim
Pandas
Pytil
Scikit Learn
NetworkX
Pillow
Matplotlib
Keras
TensorFlow
Theano
NLTK (Natural Language Toolkit)
TextBlob
اگه هنوزم شما زبان برنامه نویسی خاصی رو شروع نکردید ، بهترین گزینه و ساده ترین گزینه برای انتخاب با توجه به تمام معیارهایی که برخی از اون ها رو توی این مقاله بررسی کردیم ، پایتونه!