لغة البايثون هي لغة برمجة تُستخدم على نطاق واسع في تطبيقات الشبكة وتطوير البرامج وعلم البيانات والتعلم الآلي (ML). يستخدم المطورون Python لأنها تتسم بالكفاءة وسهولة التعلم ويمكن تشغيلها على عديد من المنصات المختلفة.
تعتبر python programming language من أكثر اللغات شيوعا في الوقت الحالي كما أنها تستخدم في العديد والعديد من مجالات البرمجة ويُعتبر من السهل تعليمها للمبتدئين بسبب سهولتها وقابليتها للقراءة. كما إنَّها لغة برمجة مجانية ومفتوحة المصدر .
تتميز لغة الـ python أنها سهلة الاستخدام، كما أنها تستخدم في إنشاء تطبيقات سطح المكتب. كما إنّها لغة برمجة شائعة للتعلّم الآلي (Machine Learning) وتطبيقات التعلم العميق أو الـ Deep Learning.
تم بواسطتها برمجة العديد من مواقع الويب الشهيرة مثل YouTube و Quora و Pinterest و Instagram.
كما أنه متوفر لها العديد من الكورسات ذات المستوي المتقدم على منصة يوتيوب و موقع udemy كما أنه متوفر كورسات مجانية ممكن للمبتدأين التعلم من خلالها حتى يصلوا لمستوي متقدم.
تاريخ لغة الـ python؟
اول من أخترع لغة الـ python المبرمج جيدو ڤان روسم، وهو مبرمج حاسوب في هولندا، قام بإنشاء لغة Python. وقد بدأها عام 1989 بمعهد (Centrum Wiskunde & Informatica (CWI، في البداية كمشروع هواية.
- نشر جيدو ڤان روسم أول إصدار ل Python (اصدار 0.9.0) في عام 1991. وقد تضمن ميزات جيدة مثل بعض أنواع البيانات والوظائف لمعالجة الأخطاء التي كانت تواجهها في البداية.
- تم إصدار Python 1.0 في 1994 بوظائف جديدة لمعالجة الأخطاء السابقة ، مثل الخريطة والفلترة والتقليل.
- أصدرت Python 2.0 في 16 أكتوبر 2000، بميزات جديدة مفيدة للمبرمجين، مثل دعم أحرف Unicode وطريقة أقصر للتكرار في أي قائمة.
- في 3 ديسمبر 2008، أصدرت Python 3.0. حيث تضمنت ميزات مثل وظيفة الطباعة والمزيد من الدعم تقسيم الأرقام ومعالجة الأخطاء.
ماهي أهم مميزات لغة الـ python ؟
تتمتع لغة بايثون بالعديد من المميزات التي جعلتها تشتهر بين المبرمجين وتتصدر عالم لغات البرمجة ومنها :
- بسيطة وسهلة التعلم والقراءة
- متعددة الاستخدامات
- تدعم البرمجة كائنية التوجه OOP
- مفتوحة المصدر و تملك مجتمع دعم كبير
- إذا أنشأت برنامجاً باستخدام لغة بايثون فإنه يعمل على أي نظام في العالم و هذا من أهم ما يدفعك لتعلمها.
- توفر مكتبات قياسية غنية بالمميزات
- تملك العديد من أطر العمل المساعدة
- قابلة للتوسع والعمل ضمن لغات أخرى
- عالية الإنتاجية
- مطلوبة في سوق العمل
أشهر مصطلحات لغة الـ python
- Source Code: تعني الكود أو الشفرة المصدرية, و يقال لها أيضاً سورس كود.
- Byte Code: الكود الذي تفهمه الآلة ويتألف من رقمين و هما: 0 و 1.
- Compiler: فعلياً هو برنامج يحول الكود المكتوب بلغة بايثون الى Byte Code.
- Virtual Machine: هو البرنامج الذي يشغل الـ Byte Code كأي برنامج على نظام التشغيل.
- OS: إختصار لـ Operating System و التي تعني أي نظام تشغيل مثل Windows, Linux, MacOS.
الاستخدامات الشائعة في لغة الـ python
تتسم لغة بايثون بأنها لغة عامة يمكن استخدامها في مجالات عديدة. كما انتشر استخدام لغة بايثون في المجالات التالية:
- علم البيانات وتحليلها
- علم الإحصاء والتحليل الإحصائي
- تعلم الآلة والذكاء الاصطناعي
- بناء تطبيقات سطح مكتب لمختلف الأنظمة
- بناء مواقع وتطبيقات ويب عبر إطار العمل فلاسك Flask
- برمجة الأنظمة والأنظمة المدمجة
- أتمتة المهام
وغيرها من المجالات الأخرى فلا يسعنا حصرها كلها…
كيف تعمل لغة الـ python ؟
تُصنَّف لغة ال python ضمن اللغات Interpreted languages، أي أنها تستخدم برنامجًا يُدعى المفسّر Interpreter وهو يقوم بتحويل الكود البرمجي إلي كود أخر وسيط يسمي intermediate language ، وظيفته قراءة كل سطر من أسطر الشيفرة البرمجية ويحلله وينفّذه مباشرةً، وسيتوقف عن العمل بمجرد أن يُصادف خطأ.
ذلك عكس اللغات المصرّفة Compiled Languages، التي تعتمد نهج تصريف أو تحويل الشيفرة البرمجية إلى لغة وسطية تفهمها الآلة، ثم تنفيذ البرنامج دفعة واحدة وليس سطرًا بسطر.
ما هي عيوب وسلبيات لغة python ؟
في البرمجة لا توجد لغة برمجة تمكن المبرمجين من إنشاء جميع البرامج والتطبيقات، ولغة بايثون كغيرها من اللغات؛ مناسبة وجيدة في سياق وحالات معيّنة، وبالمثل هناك بعض الحالات التي تظهر فيها سلبيات لغة الـ python نذكرها كالآتي:
-
بطء السرعة
تعد ال Python من لغات البرمجة عالية المستوى High-Level Programming، مما يعني أنها بعيدة عن ال Hardware، بعكس لغات البرمجة منخفضة المستوى الأخرى Low-Level Programming كلغة جافا Java وسي بلس بلس ++C. ولأن الوصول إلى أجزاء ال Hardware أقل سهولة، فإن الوقت المطلوب للوصول إلى المتغيرات وتخزينها في الذاكرة طويل. هذا يقلل من سرعة التنفيذ الإجمالية.
لذلك تعد python لغة بطيئة في تنفيذ البرامج والأوامر البرمجية مقارنة بلغات أخرى، كونها لغة مفسرة تستخدم ال Interpreter خلال عملية التحقق من صحة البرنامج.
-
استهلاك الذاكرة
لغة الـ Python تعيق القدرة على تخصيص ال Memory وإدارته بفعالية، وهي عملية أو إجراء لتخصيص مساحة الذاكرة للبرامج في الجهاز، بشكل يسهم في استهلاكها بصورة عالية جدا.
-
أخطاء وقت التشغيل
بما أن الـ Python لغة برمجة مفسرة أي تستخدم ال Interprete وليس ال Compile ، أي يجب أن تتم قراءة الأوامر البرمجية ويتم تنفيذها مباشرةً خلال وقت التشغيل. نتيجة لذلك، لن تلاحظ أي مشاكل في الكود حتى يتم تنفيذ البرنامج بالكامل.
كيف تتعلم لغة python من الصفر؟
نظراً لسهوله لغة الـ python ، كما أنها لغة مفتوحة المصدر تتوفر لها العديد من الكورسات المجانية على الكثير من المنصات مثل يوتيوب و يودمي وغيرهم ..
من أمثلة الدورات المجانية المقدمة
- دورة عربية مقدمة من قناة ال Elzero Web School لتعليم ال python
- دورة أجنبية مقدمة من قناة freeCodeCamp لتعليم ال python
( Free tutorial to learn python)
- وغيرهم …
برامج كتابة أكواد الـ python ؟
يوجد الكثير من المحررات python ide التي تستخدم في كتابة أكواد البايثون ومن أفضل هذه المحررات ..
- Visual Studio Code : هو برنامج مجاني ومفتوح المصدر يستخدم لتحرير أكواد لغة البايثون ، كما أن من مميزاته السرعة بالإضافة إلى التصحيح التلقائي للأخطاء.
- Jupyter Notebook : هو برنامج مجاني لكتابة أكواد البايثون ، يستخدم بشكل أعمق في تحليل البيانات والتعامل مع البيانات العميقة أي ال Deep Learning والتعلم الآلي أي ال Machine Learning.
- PyCharm : هو برنامج تحرير أكواد مجاني للغة python ، من أهم مميزاته التصحيح التلقائي للأكواد وتحليلها.
- وغيرهم …
أشهر المكتبات المستخدمة في الـ python
لقد تحدثنا مسبقاً عن قوة لغة البايثون ولكن ما الذي يجعل بايثون قوية ومتنوعة بهذا الشكل؟ يوجد الكثير من المكتبات التي تضيف قوة كبيرة إلى اللغة ، كما أنها تساعد المبرمجين على كتابة الأكواد البرمجية بشكل أسرع وأفضل.
أشهر مكتبات لغة الـ python كالأتي :
-
NumPy Library
هي واحدة من أشهر المكتبات المستخدمة في مجال الحسابات العددية والجبر الخطي (numerical computations and linear algebra)، حيث انها تستخدم في إجراء عمليات حسابية سريعة ودقيقة على المصفوفات (arrays) التي تحتوي على عناصر من نفس النوع.
تستخدم NumPy Library في العديد من المجالات التي تتطلب التحليل الإحصائي (statistical analysis) أو المحاكاة (simulation) أو معالجة الإشارات الرقمية (digital signal processing).
مثال على إستخدام مكتبة آل NumPy
-
Pandas Library
Pandas هي إحدى مكتبات البايثون تستخدم في معالجة وتحليل البيانات (data analysis) بشكل فعال وسريع، تستخدم Pandas هيكل بيانات جديد يسمى DataFrame، وهو جدول يحتوي على صفوف وأعمدة يمكن تسميتها وتحديدها بمرونة ، كما انها مبنيه علي مكتبتي NumPy وMatplotlip.
مثال على إستخدام مكتبة آل Pandas
-
Matplotlib Library
Matplotlib هي مكتبة شاملة تتيح لك إنشاء رسوم بيانية ومخططات بأشكال وأنواع مختلفة، كما انها تستخدم نظام تخطيط يسمى pyplot، وهو عبارة عن مجموعة من الوظائف (functions) التي تساعدك في إنشاء الرسوم البيانية وتعديلها وعرضها، كما أنها تستخدم في إنشاء كل مما يلي
line plots, scatter plots, bar charts, pie charts, box plots, histograms, heatmaps, 3D plots
مثال على إستخدام مكتبة آل Matplotlib
-
TensorFlow Library
TensorFlow هي واحدة من أكثر مكتبات البايثون شيوعًا لتنفيذ الشبكات العصبية Neural Network. تستخدم المصفوفات متعددة الأبعاد ، كما أنها تسمح لك بإنشاء نماذج ذكاء إصطناعي (artificial intelligence) مثل التعلم الآلي (Machine learning) أو التعلم العميق (Deep learning).
كما أنه يتم استخدام TensorFlow في العديد من المجالات التي تتعامل مع البيانات المعقدة أو غير المهيكلة (complex or unstructured data) مثل:
classification, regression, clustering, segmentation, generation, detection, and recognition.
مثال على إستخدام مكتبة آل TensorFlow
في النهاية لقد تحدثنا في هذه المقالة عن أشهر 4 مكتبات فقط مستخدمة في الـبايثون ولكن هناك الكثير من المكتبات الأخرى يمكنك البحث عنها عند الاحتياج إليها…