القائمة الرئيسية

الصفحات

كيف نتعلم لغة البايثون من الصفر إلى الإحتراف

 

بايثون ... لغة البرمجة الأسرع نموًا والأكثر شيوعًا في العالم ، ليس فقط بين مهندسي البرمجيات ولكن أيضًا بين علماء الرياضيات ومحللي البيانات والعلماء والمحاسبين ومهندسي الشبكات وحتى الأطفال, لأنها لغة برمجة صديقة جدًا للمبتدئين. يستخدم الأشخاص من مختلف التخصصات بايثون لمجموعة متنوعة من المهام المختلفة ، مثل تحليل البيانات والذكاء الاصطناعي والتعلم الآلي والأتمتة وما إلى ذلك.


 يمكنكم كتابة نصوص بايثون لأتمتة الكثير من المهام المملة مثل نسخ الملفات والمجلدات وإعادة التسمية منهم وتحميلهم على السيرفر. لذلك لا يتم استخدام بايثون من قبل مطوري البرامج فحسب ، بل يتم استخدامه أيضًا من قبل محترفين آخرين لأتمتة مهامهم وجعل حياتهم أسهل.

 بايثون هي لغة متعددة الأغراض ، يمكنكم استخدام بايثون لإنشاء تطبيقات الويب وتطبيقات الأجهزة المحمولة وتطبيقات سطح المكتب بالإضافة إلى اختبار البرامج وحتى القرصنة.

كل الأسباب المذكورة أعلاه كافية لإخباركم لماذا بايثون هي اللغة الأكثر شيوعًا بين المبرمجين ولماذا يجب أن نتعلمها. الآن السؤال هو من أين نبدأ في تعلم بايثون؟ كم من الوقت سوف يستغرق لتعلم بايثون؟ ما هي الموضوعات التي يجب عليكم تغطيتها أثناء دراسة بايثون؟ ما هي مكتبات بايثون؟

كمبتدئين ، سوف يتشوش دماغكم لدرجة كبيرة.  وسف تسألون أنفسكم هل يجب أن نتعلم كل المفاهيم من كتاب؟ أم يجب أن نذهب إلى برنامج تعليمي عبر الإنترنت؟ أم نقرأ مقالات؟ أم نتابع فيدوهات على يوتيوب؟ دعونا نناقش خارطة الطريق بأكملها لنصبح مطوري بايثون.

 

لماذا بايثون؟ (حدد هدفك النهائي)

قبل أن تبدأ رحلتك مع بايثون ، يجب أن يكون لديكم هدف واضح في عقلك ، لماذا تريدون تعلم بايثون؟ ماذا تريدون أن تفعلوا بالضبط بهذه اللغة؟ هل تريدون أتمتة بعض المهام المملة ، أم تريدون إنشاء بعض تطبيقات الويب؟ أم تريدون تعلم الذكاء الاصطناعي ؟أم تريدون تعلم تحليل البيانات.

يرتكب معظم المبتدئين خطأً شائعًا أنهم يبدأون في تعلم لغة ما فقط من أجل تعلمها دون وضع هدف في الاعتبار. ضعوا في اعتباركم أن تعلم لغة برمجة شيء واستخدامها لبناء بعض التطبيقات الواقعية شي مختلف كليا ، يجب أن يكون هدفكم أن تكونوا قادرًين على بناء الأشياء وليس فقط لتعلم لغة برمجة. لذلك أولاً ، استكشفوا كل مجال من مجالات العمل في لغة بايثون واكتشفوا أين تكمن اهتماماتكم.

مصادر التعلم

هناك الكثير من الوثائق ومقاطع الفيديو المتاحة عبر الإنترنت ، لذا من المربك جدًا مكان بدء تعلم هذه اللغة خاصةً عندما يمكن استخدام بايثون في مختلف المجالات. افهم أن كتابًا واحدًا أو دورة فيديو لا تكفي لتعليمك كل شيء في بايثون ، وفي البداية كمبتدئ ، ستغمر أيضًا بالعديد من المفاهيم ولكن عليك التحلي بالصبر والاستكشاف والبقاء ملتزمًا بها.

مهما كانت الموارد التي تفضلها ، حدد موعدًا نهائيًا لإنهاء الدورة التدريبية. يمكنك إنهاء الدورة في غضون 10 - 11 أسبوعًا إذا كنت مبتدئًا, كما يجب عليكم تخصيص 2-3 ساعات كل يوم للتعلمموضوعات مهمة في بايثون

دعنا الآن ننتقل إلى الخطوة التالية ونتحقق من الموضوعات المهمة في بايثون التي يجب عليك تغطيتها. ضع في اعتبارك أن هناك الكثير من الأشياء لتتعلمها ، لذا بمجرد الانتهاء من الموضوعات ، ابدأ في استكشاف لغة بايثون بنفسك.

 

1. تعلم الأساسيات : Syntax and Basics  أولاً ابدأوا بتثبيت بايثون في اجهزتكم. ما عليكم سوى زيارة موقع بايثون الرسمي وتنزيل أحدث إصدار. بمجرد اكتمال التثبيت ، يمكنكم استخدام Pycharm , VSCODE, SPIDER لكتابة وتشغيل كود بايثون. سنقوم الآن بسرد بعض الموضوعات لنبدأ بتعلم بايثون. سيستغرق الأمر من 1 إلى 1.5 أسبوعًا تقريبًا لتغطية جميع الأشياء الأساسية التي لا تزال تعتمد على عملية التعلم الخاصة بك.

في هذه المرحلة سوف نركز على تعلم المفاهيم التالية:

  1. The Python shell, basic arithmetic.
  2. Control structures.
  3. Accepting user input, Strings & Typecasting.
  4. Looping in Python: For & While loops.
  5. Exception handling.
  6. Functions, modules & Imports.

 

2. مفاهيم :OOPs Concepts, Built-in Data Structures  تشير كلمة OOP الى object-oriented programming  , يعد هذا القسم صعبًا بعض الشيء خاصة إذا كنتم لا تعرفون مفاهيم OOP. استفيدوا من بعض الموارد التي ذكرناها ومع بعض الممارسة ، سنتمكن من فهم هذه الامور بسهولة ويسر. سيتم استخدام هذه المفاهيم على نطاق واسع في إنشاء التطبيقات المعقدة , قد يستغرق الأمر من 1 إلى 1.5 أسبوعًا للتعلم.

في هذه المرحلة سوف نركز على تعلم المفاهيم التالية:

1.    Object-oriented programming in Python

2.    Lists & List functions

3.    Regular Expressions

4.    List comprehension

5.    List slicing

6.    String formatting

7.    Lambdas

8.    List, Dictionaries & Tuples

بمجرد إتقان الموضوعات المذكورة أعلاه وممارسة كل موضوع بشكل كافٍ ، فقد حان الوقت لبناء شيء منه. تحتوي بايثون على مجموعة جيدة من الأطر frameworks والمكتبات التي قد نستخدمها لتطبيقات مختلفة. لذا بدلاً من بناء كل شيء من البداية ، من المفضل أن نقوم باستخدم الأطر والمكتبات المتوفرة بهذه اللغة. سيكون من الأسهل بالنسبة لكم إنشاء شيء باستخدام هذه الأطر والمكتبات. اختاروا إطار العمل أو المكتبات وفقًا لهدفكم النهائي (تطوير الويب ، والتطبيقات المستندة إلى سطح المكتب ، وما إلى ذلك)

3. أطر تطوير الويب: هناك العديد من الأطر لتطبيقات الويب في بايثون ، ومن بينها Django , Flask , Bottle , Tornado , Pyramid.

 

Django: إطار ويب عالي المستوى يستخدم في الغالب في الشركات الناشئة والمؤسسات لتطوير الويب. يتبع نمط MVC ويمكنكم استخدام قواعد بيانات متعددة مثل PostgreSQL , MySQL , SQLite , Oracle. إذا كنتم مبتدئًين تمامًا ولستم على دراية  بURL routing, API and models ، فستشعرون بالكثير من العناء أثناء تعلم Django ولكن خذوا وقتكم وتحلوا بالصبر وتصفحوا وأقرأو بعض الموارد الإضافية و وحاولو فهم كل سطر من التعليمات البرمجية. ببطء وبالتدريج  ستفهمون كل شيء بنسبة مئة في المئة . قد يستغرق تعلم Django من 2 إلى 2.5 أسبوعًا.

Flask: يعد Flask أحد أسهل الإطارات المصغرة للتعلم في بايثون. إذا كنت ترغب في تطوير تطبيق ويب بسيط وخفيف الوزن ، فإن Flask مناسب لذلك. إنه ليس قويًا وواسع النطاق مثل Django ولكنه لا يزال يوفر ميزات مثل دعم اختبار الوحدة وبناء واجهات برمجة تطبيقات REST APIs. سيستغرق تعلم  Flask من 1 إلى 1.5 أسبوعًا.

4. لبناء تطبيقات سطح المكتب ، تعد مكتبات Tkinter أو PyQT أو Kivy أو wxpython أو PyGUI جيدة جدًا لبناء التطبيقات المستندة إلى سطح المكتب.

 

: Tkinter هي مكتبة مفتوحة المصدر وتتيح لكم إنشاء تطبيقات واجهة المستخدم الرسومية لسطح المكتب باستخدام بايثون. وهي تستخدم غالبا للتعلم وليس لإنشاء المشاريع, تعلم Tkinter بسيط ويوفر واجهة رسومية. سوف يستغرق الأمر حوالي أسبوع لتعلم Tkinter.

: PyQt هي واحدة من أقوى مكتبات واجهة المستخدم الرسومية عبر الأنظمة الأساسية التي تملكها نوكيا. فهي تجمع بين برمجة بايثون ومكتبة Qt. يمكن استخدامها لتصميم واجهات مستخدم رسومية لتطبيق سطح المكتب.

Kivy: يمكن استخدامه لإنشاء تطبيقات سطح المكتب كما أنه يدعم منصات مثل Android و iOS و Linux و Raspberry Pi.


5. من أجل تحليل البيانات ، توجد الكثير من المكتبات ، مثل Numpy و Pandas و Seaborn و Bokeh و SciPy و Matplotlib. هذه المكتبات مفيدة لأولئك الذين يريدون أن يصبحوا محللي بيانات / علماء بيانات. سيستغرق تعلم كل منها حوالي أسبوع واحد.


6. لتعلم الآلةMachin Learning , توجد ايضا مكتبات مهمة مثل

1.    TensorFlow: مكتبة التعلم العميق الأكثر شيوعًا التي طورتها Google. هي إطار عمل حسابي يستخدم للتعبير عن الخوارزميات .

2.    Scikit-Learn: مكتبة تعلم الآلة للبايثون ، مصممة للعمل مع المكتبات العددية مثل SciPy & NumPy.

3.    PyTorch: يمكنها معالجة الرسوم بديناميكة عالية. كما أنها توفر سهولة استخدام API

بناء المشاريع

حتى الآن قمنا بتغطية كل شيء تقريبًا في بايثون الآن المرحلة الأخيرة هي بناء المشاريع. كل التعلم في بايثون يكون منطقيًا فقط إذا كان بإمكانكم بناء بعض المشاريع. تذكروا أن أفضل طريقة لاختبار مهاراتكم في البرمجة هي العمل في مشروع معقد يحل مشكلة ما.

 إن بناء مشروع معقد ليس بالمهمة السهلة للمبتدئين ، لذا ابدأوا شيئًا صغيرًا. اصنعوا مشروعًا بسيطًا أولاً ثم تحركوا تدريجيًا. إذا كنتم ترغبون في بناء مشروع معقد ، فابدأوا بوحدة صغيرة وبسيطة ، ثم استمروا في إضافة ميزات إليها. سترون تقدمكم جنبًا إلى جنب مع مشروعكم وستفهم كيف يحل المبرمجون المشاكل المعقدة في العالم الحقيقي. المشاريع مفيدة حقًا في شحذ مهاراتكم.

 أثناء العمل في مشروع ما ، ستواجهون الإحباط والعقبات والتحديات والصعوبات المتعددة. عندما تعملون على هذه التحديات والصعوبات ، فإنكم تكتسبون قدرًا جيدًا من المهارات. لذلك فإن حل هذه التحديات سوف يمنحكم خبرة كافية في حل المشكلات باستخدام بايثون.

 الآن هناك العديد من المشاريع التي يمكنك القيام بها باستخدام بايثون. حاسبة EMI ، تطبيقات الطقس , برنامج تحميل الفيديوهات من يوتيوب وغيرها الكثير ، هذه كلها مشاريع بسيطة يمكنكم القيام بها.  أما اذا تحدثنا عن بعض المشاريع المعقدة ، فيمكنكم إنشاء موقع تجارة إلكترونية يعمل بكامل طاقته ، زغيرها من تطبيقات الويب حسب اهتمامكم وهنا لابد أن نشير أن تختاروا تطبيق يعتبر مشوقا وطموحا بالنسبة لكم, مثلا اذا كنتم تحبون الرياضة أو كرة القدم يمنكم انشاء تطبيق لذلك وكذلك اذا كنتم تحبون السياحة وهكذا.

نصائح أخيرة

تحلوا بالصبر ، فالأمر لا يتعلق فقط بتعلم بايثون ولكن أيضًا في حالة تعلم لغة أخرى. يتطلب تعلم لغة أولى دائمًا المزيد من الجهد والوقت ، لذا لا بد من فهم أن الأمر سيستغرق وقتًا لاتمام كل شيء.

التزم بأهدافكم. لا تتعلوا فقط بناء الجملة وتنتقل إلى لغة برمجة جديدة.

الإحباط و المعاناة جزء من عملية التعلم ، أحبوهم  بدلاً من تجنبهم.

نظرًا لبعض المصطلحات والأخطاء والقضايا المعقدة ، ستشعرون بالرغبة في الاستسلام. لا تفعلوا ذلك ، فهذا يحدث مع الجميع في البرمجة. امنحوا أنفسكم بعض الوقت وافهوا الموضوع باستخدام مصادر آخرى وبتركيز شديد.

كونوا ملتزمين ، إذا لم تكونوا مثابرين في التعلم ، فسيستغرق الأمر الكثير من الوقت والجهد.

دائمًا ما يكون بناء المشروع مفيدًا في بناء الثقة ، لذا لا تتجاهلوا  أهميته.



تعليقات