شاركنا بعملوماتك
#عائله بايثون
المكتبات Libraries من أهم المصطلحات في عالم البرمجة، وهي عامل قوة كبيرة لتعلم واستخدام الكثير من لغات البرمجة في المجالات المختلفة.
وفي مقالنا هذا سوف نتحدث عن تعريف المكتبات في لغات البرمجة بشكل عام، وعن مكتبات بايثون بشكل خاص، حيث سنتناول قائمة بـ 19 مكتبة ممتازة من مكتبات بايثون، والتي يمكنك الاعتماد عليها في كتابة أكواد لغة بايثون لانجاز أي مهمة برمجية بهذه اللغة الرائعة.
ما هي المكتبات LIBRARIES في لغات البرمجة؟
المكتبة Library في لغة البرمجة؛ هي عبارة عن مجموعة من الدوال الجاهزة التي يمكنك استيرادها في الكود الخاص بك بدون أن تكتبها أو تعرفها بنفسك.
ويقوم بعمل هذه المكتبات المتخصصون والمطورون، ومن ثم ينشرونها للجميع لكي تساعدهم على إنشاء مشاريعهم البرمجية بكل سهولة، ولكي يدمجوها في أكوادهم بدون الحاجة إلى كتابتها من جديد.
الفكرة في هذه المكتبات هي أن يقوم المتخصصون من أبرع المطورين باختصار الوقت والجهد عليك، وذلك بدلاً من أن تبني كل شيء من الصفر، أو كما يحب أن يقول المبرمجون أن تعيد اختراع العجلة Reinvent the wheel.
وهذا الأمر هام للغاية فبدلًا من أن تجلس لساعات تحاول أن تكتب دالة واحدة تريد استخدامها… يمكنك في أقل من خمس ثواني أن تستورد دالة من مكتبة Pandas المتخصصة في تحليل البيانات مثلًا، أو دالة من مكتبة TensorFlow الخاصة بـ التعلم العميق.
إذا كنت مبتدئ في البرمجة ستقول وما المشكلة في قضاء الساعات من أجل التوصل لهذه الدالة، ولكن الفكرة في أن المشروع الذي تعمل عليه سيحتاج إلى العشرات والمئات من هذه الدوال الجاهزة الخاصة بالمكتبات، واستغناءك عنها سوف يطيل كثيرًا من الوقت الذي تحتاجه لكتابة مشروعك.
اقرأ أيضًا: تعلم لغة البايثون: كل المصادر والمعلومات التي تحتاجها
ما الفرق بين المكتبة Library وإطار العمل Framework في لغات البرمجة؟
هناك مصطلح آخر في البرمجة يسمى إطار العمل أو Framework، ورغم اختلافه عن المكتبة Library كثيرًا إلا أنه يتم الخلط بين المصطلحين واستخدامهم مكان بعضهم البعض، وهذا بالطبع خطأ كبير؛ إذ أن إطار العمل مفهوم أوسع قليلًا من المكتبة، ويلزم مستخدمه بقواعد معينة يجب الالتزام بها.
يمكن تعريف إطار العمل على أنه مجموعة من الأكواد الجاهزة التي يمكن للمبرمجين استخدامها بدون كتابتها من الصفر، ولكن بدل من استدعائه والتحكم به هو من يقوم بطلب الكود الخاص بك وإخبارك بالمعطيات التي يريدها، أي أن الفرق بينهم في خاصية عكس التحكم أو Inversion of Control التي يتمتع بها إطار العمل.
ففي المكتبة يمكنك استدعاء الخاصية التي تريدها في الكود خاصتك، وأن تستخدمها كما تشاء على عكس استخدام إطار العمل الذي يشبه كونك تملأ الفراغات الناقصة المطلوبة، أو أن تمشي على خطوات محددة مسبقًا لكي تنهي المشروع الخاص بك، ويمكنك تشبيه إطار العمل بإطار الصورة أو البرواز الذي يتحكم في حجم وشكل الصورة التي توضع فيه.
اقرأ أيضًا: أنواع البرمجة الإلكترونية (Programming Paradigms)
المكتبات في لغة البرمجة بايثون PYTHON
لغة بايثون Python واحدة من أشهر وأكثر لغات البرمجة الموجودة اليوم ولها مجتمع كبير للغاية، ومن مزايا هذا وجود العديد من المكتبات الخاصة بها، فتقدر الإحصائيات عدد مكتبات لغة البايثون بنحو 137000 مكتبة في مختلف المجالات بداية من تحليل البيانات و الذكاء الاصطناعي وحتى الأمن السيبراني وتصميم الألعاب.
هذا الزخم والكم الهائل من المكتبات كان من أكبر المساهمين في كون لغة البايثون لها المكانة التي نعرفها اليوم خاصة في مجال الذكاء الاصطناعي و علم البيانات، فكما سنرى عند استعراض مكتبات لغة البايثون سوف نجد أن من أشهر المكتبات التي سنستعرضها هي مكتبات تحليل البيانات و تعلم الآلة والتعلم العميق.
جدير بالذكر أنك كمبرمج لا تحتاج لأن تعرف كل المكتبات في لغة البرمجة التي تستخدمها بل وحتى لا تحتاج للمعرفة المفصلة عن كل المكتبات في مجالك، وأنما عليك فقط أن تعرف جيدًا المكتبات التي تستخدمها، وأن تواكب التطورات والتحديثات من خلال متابعة الجديد في مجالك والأدوات والمكتبات وإطر العمل Frameworks المستخدمة.
اقرأ أيضاً: وظائف الأمن السيبراني (دليل وظائف و رواتب الأمن السيبراني)
أهم 19 مكتبة في أكواد لغة البايثون PYTHON
رغم أن هناك عدد كبير من المكتبات في لغة البايثون -137 ألف كما ذكرنا- إلا أننا في الرابحون اخترنا لك أشهر وأهم 19 مكتبة في لغة البايثون في مختلف مجالات البايثون البرمجية، وهي:
1. مكتبة NumPy
مكتبة NumPy هي واحدة من أشهر المكتبات في لغة البايثون، واسمها يأتي اختصارًا من Numerical Python، وهي تتعامل في العموم مع المتجهات Arrays، كما توفر العديد من الدوال الخاصة بالعمليات الرياضية والجبر الخطي والمصفوفات.
يمكنك القول أن هذه المكتبة هي أهم مكتبة على الإطلاق في لغة البايثون، إذ أن سهولة التعامل معها وكونها مفتوحة المصدر بالإضافة إلى قوتها وكفاءتها قد ساهموا في جعل البايثون واحد من اللغات القوية في العديد من المجالات.
فعند التعمق في البحث ستجد أن الكثير من المكتبات الهامة في المجالات المختلفة التي يتعامل معها بايثون تعتمد بشكل كبير على مكتبة NumPy، فعلى سبيل المثال لا الحصر:
1. علم البيانات وتمثيلها: المكتبات الأشهر في هذا المجال تعتمد على NumPy ك Pandas و Jupyter و Matplotlib و Seaborn والعشرات غيرها.
2. تعلم الآلة والتعلم العميق: مكتبات ك PyTorch و scikit-learn و SciPy و TensorFlow التي تتربع على عرش هذا المجال جميعها تعتمد على NumPy بشكل أساسي.
3. معالجة الصور: مكتبة Scikit-image ومكتبة OpenCV ومكتبة Mahotas وغيرها.
4. الحوسبة الكمومية Quantum Computing: المكتبات الرائدة في هذا المجال ك QuTiP و PyQuil و Qiskit تعتمد على NumPy كذلك.
5. المعلوماتية الحيوية: الحزمة الشهيرة BioPython في المعلومات الحيوية وفي التطبيقات الحاسوبية البيولوجية عامة تعتمد على NumPy.
جدير بالذكر أيضًا أن الحدث الشهير الخاص بأول صورة للثقب الأسود في أبريل 2019 كان من عوامل نجاحه مكتبة Numpy والمكتبات التي تعتمد عليها.
2. مكتبة Pandas
مكتبة Pandas هي مكتبة قوية لا غنى عنها لأي مبرمج يتعامل مع البيانات، فهي تستطيع استكشاف وتحليل وتنظيف ومعالجة البيانات، ويمكنك للتبسيط أن تعتبرها برنامج الإكسيل المتطور الذي يمكنك استخدامه بلغة البايثون لفعل كل ما قد يخطر على بالك على البيانات.
الاعتماد على مكتبة Pandas سره؛ كونها تستطيع التعامل مع العديد من أشكال البيانات سواء؛ مع البيانات المرتبة في صفوف وأعمدة Tabular data، أو البيانات المرتبة أو غير المرتبة في المتسلسلات الزمنية، أو بيانات المصفوفات، وحتى البيانات غير المعنونة Unlableled Data التي تحتاج لمعالجة قبل أن يتم استخدامها.
يمكنك باستخدام مكتبة Pandas قراءة والتعديل على مختلف أشكال البيانات، وتنسيق البيانات، والتعامل مع البيانات الناقصة، وتشكيل البيانات كما يحلو لك، بالإضافة إلى القيام بعشرات المهام الأخرى التي ستحتاجها عند التعامل مع البيانات.
كثيرًا ما يتم استخدام المكتبات الثلاثة Numpy و Pandas و Matplotlib مع بعضهم البعض في علوم البيانات.
3. مكتبة Matplotlib
مكتبة Matplotlib هي المكتبة الرائدة في مجال تمثيل البيانات Data Visualization، وهي واحدة من أكثر المكتبات استخدامًا في مجالات علم البيانات والمجالات العلمية بشكل عام، ويمكنك القول بأن هذه المكتبة هي الساحر الخاص بك الذي سيساعدك على عمل الشكل البياني Graph الذي تحتاجه لبياناتك.
تستطيع أن تفهم قوة هذه المكتبة من خلال رؤية الكم الهائل من الأشكال البيانية التي بإمكانك صنعها من خلال مكتبة Matplotlib.
4. مكتبة Seaborn
مكتبة Seaborn مكتبة مشابهة للغاية للمكتبة السابقة Matplotlib، وهذا لكونها مبنية عليها، ولأن العديد من وظائفها تتقاطع معها، ولكن مكتبة Seaborn تستخدم بغاية خلق أشكال بيانية إحصائية Statistical Graphs أكثر جاذبية من التي تصنعها Matplotlib.
الفرق بين هاتين المكتبتين يكمن في أن مكتبة Seaborn لديها أشكال بيانية أكثر تطورًا من Matplotlib التي تتعامل مع الأشكال البيانية البسيطة والبدائية، بالإضافة إلى أن لديها ثيمات افتراضية لتمثيل البيانات، مما يجعلها أسهل من Matplotlib، كما أن مكتبة Seaborn أكثر سهولة وكفاءة في التعامل مع إطر البيانات من Pandas.
5. مكتبة Scikit-Learn
مكتبة Scikit-Learn مكتبة قوية للغاية تستخدم بكثرة في مجالات تعلم الآلة Machine Learning، وهذا بسبب كونها توفر العديد من الخوارزميات التي تساعد في التعلم المراقب Supervised Learning والتعلم غير المراقب Unsupervised Learning، كما أنها تتوافق مع مكتبات التعامل مع البيانات الشهيرة ك NumPy و Pandas و Matplotlib.
من خلال مكتبة Scikit-Learn تستطيع القيام بالعديد من المهام، مثل:
- تحليل الانحدار Regression.
- التصنيف Classification.
- التحليل عنقودي Clustering.
- اختيار النموذج Model selection.
- عمليات قبل المعالجة Preprocessing.
6. مكتبة OpenCV
مكتبة OpenCV واحدة من أشهر المكتبات الخاصة ببايثون على الإطلاق، فهي المكتبة الرائدة في مجال الرؤية الحاسوبية Computer Vision، والتي لها العشرات من الاستخدامات اليوم المعتمدة على تحليل الصور ومقاطع الفيديو.
حيث تستخدم في:
- التعرف على الوجوه Face Detection.
- التعرف على الأشياء Identify Objects.
- تصنيف الحركات البشرية Classification of Human Actions.
- تتبع الحركة Motion Tracking.
- أتمتة المراقبة والإشراف Automated Inspection and Surveillance.
- والعديد من الاستخدامات الأخرى.
مكتبة OpenCV واحدة من أضخم المكتبات على الإطلاق، فهي تحتوي على أكثر من 1900 خوارزمية كما أن من الممكن استخدامها من خلال عدة لغات برمجة كبايثون Python وجافا Java و C++ و ماتلاب MATLAB .
كما أنها تعمل على العديد من أنظمة التشغيل كويندوز ولينكس، وتُستخدم من قبل أكبر شركات البرمجة في العالم أو ما يطلق عليهم حيتان التكنولوجيا.
اقرأ أيضًا: أكبر شركات البرمجيات في العالم (حيتان التكنولوجيا)
7. مكتبة TensorFlow
مكتبة TensorFlow مكتبة رائدة في مجالات تعلم الآلة والتعلم العميق، حيث تُعد الأهم على الإطلاق في المجال لدرجة قول الخبراء بأن 70% من تطبيقات التعلم العميق تتم من خلالها، وبإمكانك فهم سر هذا التفوق إذا علمت أن المكتبة قد تم تطويرها من شركة Google وجعلها مفتوحة المصدر للمبرمجين في كل أنحاء العالم.
من مميزات مكتبة TensorFlow سهولة بناء موديل تعلم الآلة أو التعلم العميق من خلالها مع قوتها وكفاءتها الشديد، كما أنها أسرع من مكتبات التعلم العميق الآخرى، وعلى الرغم من أنها متخصصة في التعلم العميق Deep Learning إلا أنه بإمكانك استخدامها في تعلم الآلة Machine Learning.
هذه المميزات السابقة جعلت العديد من الشركات الكبرى حول العالم تستخدم مكتبة TensorFlow بشكل أساسي، ومنها:
- AMD
- Lenovo
- Xiaomi
- Uber
- PayPal
اقرأ أيضًا: مجالات الذكاء الاصطناعي: أبواب المستقبل المفتوحة على مصارعها
8. مكتبة Keras
مكتبة Keras هي مكتبة شهيرة في مجال التعلم العميق Deep Learning مبنية في الأساس على مكتبة Tensorflow الشهيرة ومكتبة Theano، صممها فرانسوا شوليه عالم الذكاء الاصطناعي الشهير، والذي يعمل لدى جوجل لكي تكون أبسط وأسهل وأكثر سرعة من المكتبات الأخرى في مجال التعلم العميق كـ مكتبة TensorFlow.
الميزة الكبيرة في مكتبة Keras هي أنها لا تتعامل مع التفاصيل منخفضة المستوى، أي أنها مكتبة مرتفعة المستوى High Level، وهذا ما يجعل التعامل مع الشبكات العصبية Neural Networks من خلالها أكثر سهولة User Friendly.
9. مكتبة PyTorch
مكتبة PyTorch هي مكتبة شهيرة في مجال التعلم العميق من إنشاء شركة فيسبوك، وهي تستخدم في العديد من تطبيقات التعلم العميق ومعالجة اللغات الطبيعية والرؤية الحاسوبية، والتي تمكنك من عمل الشبكات العصبية بكل سهولة وتنفيذ عملياتها بشكل سريع.
على الرغم من كون مكتبة PyTorch غير مستخدمة كالمكتبات الرائدة في مجال التعلم العميق TensorFlow و Keras إلا أن لها العديد من المميزات التي تجعل المختصون بالذكاء الاصطناعي والتعلم العميق يلتفتون إليها، مثل: الواجهة البسيطة، وكونها مكتبة معتمدة على بايثون بالإضافة إلى توافقها مع مكتبة NumPy.
10. مكتبة Theano
مكتبة Theano هي واحدة من أشهر المكتبات التي تستخدم في مجال الشبكات العصبية، تم بناءها من قبل فريق الباحثين الخاص بتعلم الآلة Machine Learning من جامعة مونتريال، وهي تدعم العديد من الشبكات العصبية في مجال التعلم العميق كالشبكات العصبية الملتفة Convolutional Neural Network (CNN)، والشبكات العصبية المتكررة Recurrent Neural Networks (RNN).
تتميز مكتبة Theano بكونها تستطيع أداء الكثير من العمليات، بالإضافة إلى تحسين استقرار نموذج التعلم العميق حتى لو تم استخدام نماذج غير مستقرة من خلال دمجها بنماذج أكثر استقرارًا، كما أنها مشهورة بسرعة تشغيلها للنماذج الخاصة بالتعلم العميق.
اقرأ أيضًا: تعلم الذكاء الاصطناعي (كل المصادر والمعلومات التي تحتاجها)
11. مكتبة Scipy
مكتبة Scipy هي واحدة من أكثر المكتبات استخدامًا في مجالات العلوم والهندسة، وهي عبارة عن مكتبة مفتوحة المصدر تضم العديد من الخوارزميات الرياضية التي يكثر استخدامها في الفيزياء وفي الهندسة، وهي عادة ما توصف على أنها مكتبة الحوسبة العلمية.
تعالج مكتبة Scipy الكثير من المواضيع الرياضية، مثل:
- الجبر الخطي Linear Algebra.
- التكامل Integration.
- الإحصاء Statistics.
- تحويل فورييه Fourier Transform.
- معالجة الإشارة Signal Processing.
- معالجة الصور Image Processing.
12. مكتبة NLTK
مكتبة NLTK -من Natural Language Toolkit- هي المكتبة الرائدة في مجال معالجة اللغات الطبيعية Natural Language Processing، وتحتوي على الكثير من الخوارزميات التي تتعامل مع النصوص، وهذه المكتبة قوية للغاية للدرجة التي تجعلها تستخدم في مجالات آخرى كعلم النفس واللغويات وغيرها.
تستخدم مكتبة NLTK في غالبية تطبيقات معالجة اللغات الطبيعية، مثل:
- تصنيف النصوص Text Categorization.
- التنبؤ بالنصوص Text Prediction.
- استبعاد الكلمات الشائعة Stop Word.
- تحليل النصوص Text Analysis.
- تحليل المشاعر Sentiment Analysis.
- العشرات من التطبيقات الأخرى.
13. مكتبة TextBlob
مكتبة TextBlob أحد أشهر المكتبات في مجال معالجة اللغات الطبيعية Natural Language Processing، وهي مبنية على مكتبة NLTK، ولذا هي قوية للغاية وتتمتع ببساطة وسهولة شديدة، ويمكن استخدامها في العديد من التطبيقات المتعلقة بالنصوص، وتشتهر للغاية في مجال تحليل المشاعر Sentiment Analysis.
14. مكتبة Selenium
مكتبة Selenium هي مكتبة شهيرة اكتسبت زخمًا وشهرة في الفترة الأخيرة بسبب قوتها والاستخدامات الخاصة بها، ومن خلال مكتبة Selenium يمكنك أن تتحكم بالمتصفح الخاص بك وتجعله قادرًا على القيام بعدة وظائف، وهو ما جعل هذه المكتبة شهيرة للغاية في مجالات الأتمتة، كما أنه يستخدم في استخلاص المعلومات من صفحات الإنترنت بشكل أتوماتيكي أو الـ Web Scraping.
15. مكتبة Beautiful Soup
مكتبة Beautiful Soup من المكتبات الهامة للغاية في لغة البايثون، وهي متخصصة في استخلاص المعلومات من صفحات الإنترنت بشكل أتوماتيكي أو ما يعرف بـ Web Scraping، وهي تسمح أيضًا بتحويل البيانات التي يتم استخلاصها إلى أنواع أخرى من الملفات، وتستطيع أن توفر للمبرمج وعالم البيانات أيام وأسابيع من البحث اليدوي.
16. مكتبة SQLAlchemy
مكتبة SQLAlchemy واحدة من المكتبات الهامة في لغة البايثون، وهذا لأنها تسهل التعامل مع SQL أو لغة الاستعلامات المهيكلة، فهي تسمح لك من خلال بايثون بقراءة وتعديل البيانات مما يساهم في تسريع عمل وبرمجة المشاريع البرمجية، وبالإضافة إلى هذا تستطيع المكتبة أن تتعامل مع البيانات على أنها مجموعة من العلاقات وليس مجرد قيم.
17. مكتبة PyQt
مكتبة PyQt هي مكتبة قوية للغاية من مكتبات لغة بايثون تحتوي على أكثر من 6000 دالة و 440 فئة تساعد المبرمجين على صنع واجهة المستخدم الرسومية graphical user interface الخاصة بالتطبيقات المختلفة، كما أنها تدعم الشبكات وقواعد البيانات والتعبيرات النمطية ولغات الترميز والعديد من الأشياء الأخرى.
18. مكتبة Pillow
مكتبة Pillow هي مكتبة شهيرة للغاية في لغة بايثون وتختص بمعالجة الصور، وهي تدعم العديد من صيغ الصور بكل كفاءة، كما أن قدرتها على معالجة الصور مثيرة للإعجاب بالنظر إلى سرعتها وبساطتها وسهولة استخدامها. هذا بجانب الخصائص القوية لها مثل فلترة الصور في قاعدة البيانات خاصتك من خلال عدة مرشحات، أو تعزيزها والتعديل عليها، أو إضافة النصوص.
تستطيع من خلال مكتبة Pillow كذلك أن تعالج الصور من خلال كل بكسل على حدا، وأن تختار البكسلز التي تعالجها والأخرى التي تود تجاهلها يمكنك الاطلاع على التوثيق الخاص بالمكتبة من هنا.
19. مكتبة Manim
لقد كنت أتسائل كثيرًا عن الطريقة الفريدة التي تصنع بها فيديوهات القناة الشهيرة 3Blue1Brown، والكيفية التي يتم بها التمثيل الرياضي، حتى قرأت أن جرانت ساندرسون عالم الرياضيات من جامعة ستانفورد وصاحب القناة قد قام بإنشاء هذه المكتبة من أجل عمل فيديوهاته الرائعة.
يمكنك من خلال مكتبة Manim، وباستخدام لغة البرمجة بايثون أن تصنع أنت أيضًا فيديوهاتك الرائعة بجميع أجزائها بداية من الأشكال والنصوص وحتى إضافة الأصوات، وهذا كله بطاقة حاسوبية منخفضة للغاية تنتج فيديوهات عالية الجودة ومنخفضة المساحة.
تعليقات
إرسال تعليق