قراءة وتحميل تعلم لغة البايثون pdf - اقرأ كتابك

+ حجم الخط -

 تعلم لغة البايثون pdf


لأن هذه المنهجية تُعتبر أقوى وأسرع طريقة لتعلم لغة البرمجة بايثون .


من البداية حتى الإحتراف ، لا يعني بالضرورة أنها منهجية معقدة بل الأبسط على الإطلاق .


في هذا الملخص ستتعلم كل شيء عن تعلم لغة بايثون .


في أقصر وقت ممكن .


قبل أن نبدأ : لماذا لغة بايثون بتحديد؟ .


بسبب أن لغة البرمجة بايثون ذات شعبية واسعة حول العالم .


لأنها سهلة  التعلم ومناسبة للمبتدئين في  تعلم لغة البايثون pdf .


لكثرة تنوعها وأيضا تعدد استخدمها  في  عدة مجالات .


لأنها تعتمد منطق مباشر وبسيط لتنفيذ المهام .


لأنها غنية بالإضافات والمكتبات المفتوحة المصدر .


قراءة وتحميل تعلم لغة البايثون pdf - اقرأ كتابك




ولأنها تعتبر من اللغات التي توفر وظائف عالية الأجر في مجالي علم البيانات والتعلم الآلي وتطوير الويب .


إذن ما هي الطريقة الصحيحة لتعلم لغة بايثون وكيف أضع خطوتي الأولى في طريق الإحتراف كمبرمج ؟ 


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


 الخطوة رقم صِفر أو خطوة ما قبل الإنطلاق .


حيث يجب عليك أن تتخلص من كل العوائق والأثقال عبر 3 مباديء أساسية .


الأول : يجب عليك التخلص من كل الأحكام المُسبقة والخرافات التي لديك عن البرمجة حتى تُكَوِّن منظورك الخاص من خلال هذه التجربة .


الثاني : كُن صبوراً ،لا تستعجل ،ووفر أنفاسك لأن هذا المجال عبارة عن ماراثون وليس سباقا للمسافات القصيرة .


الثالث: لا تُقم بحصر نفسك في مصدر واحد . فإياك أن تترك شخصاً آخر يُقنعك بالعكس .


وقد جعلنا هذه النقط واضحةً لم يتبقى سِوى إعداد بيئة التطوير ومحرر الشيفرة .


إذن ما عليك إلا الذهاب إلى الموقع الرسمي بايثون لتحميل لغة بايثون ثم تثبيتها على جهازك .


 لا يتجاوز حجم الملفات 30 ميجا وتعمل على كل أنظمة  الويندوز.


عملية التثبيت في غاية البساطة  ويمكن استخدام بايثون أيديل لكتابة الأكواد وتنفيذها .


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


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


عموماً أفضل بيئة تطوير أنصح بها هي بيئة الفيجوال ستوديو كود من مايكروسوفت لأنها مجانية ومفتوحة المصدر .


ويتم تطويرها بشكل مستمر .


 لاستخدامها عليك إلا الذهاب إلى موقعها الرسمي وتثبيتها ثم تثبيت الإضافات الخاصة بلغة بايثون من داخلها .


وبيئة التطوير الثانية التي أنصح بها هي لمن لا يريدون تثبيت لغة بايثون ولا أي شيء على أجهزتهم  

اذا كنت ترغب في عدم تنزيل لغة بايثون على جهازك  يمكنك  استعمال بيئة google colab . باستخدام متصفح الأنترنت . يمكنك كتابة وتنفيذ أكوادِ بايثون .


لكن انت بحاجة الى انترنت سريع .ومستقر .


بيئة التطوير الثالثة  لمن ليست لديهم جهاز كمبيوتر  ولا حتى الأنترنت القوي .


أو لمن يريدون تعلم بايثون على هواتفهم المحمولة الجوال .


هي تطبيق  Pydroid 3  لأجهزة الأندرويد . يمكنك تحميل التطبيق من متجر جوجل بلاي , وتطبيق بايثو لأجهزة  أيفون ios  .الموجود على متجر اب ستور .


يعني حتى ولو كنت لا تمتلك جهاز كمبيوتر يمكنك استعمال الجوال والعمل .


 مع العلم لغة بايثون لا تحتاج الى جهاز كمبيوتر قوي أي جهاز بموصفات عادية يمكنك العمل عليه .


الخطوة الأولى : مرحلة الأساسيات 


بعد إعداد بيئة التطوير سوف ننتقل لمرحلة الأساسيات ويمكن القول بأنها أهم مرحلة على الإطلاق وستتعلم فيها 


المتغيرات ونوع البيانات


العمليات الشرطية .


الحلقات التكرارية . الدوال 


التعامل مع الأخطاء والاستثناءات .


تثبيت المكتبات .


تعلم البرمجة pdf


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


أنواع البيانات في لغة البرمجة python  بايثون - داتا تايبس (Data Types) .


في تعلم  لغة البرمجة  البايثون  تذكّر أن هناك ستة أنواع أساسية من المتغيرات التي يمكنك التصريح بها واستخدامها .


والمتغير ببساطة هو مكان محجوز في ذاكرة الكمبيوتر يمكنك تخزين قيمة أو بيانات محددة فيه .


في  كتاب  لتعلم لغة البرمجة  البايثون  pdf .  تتميز بكونها لغة ديناميكية التصريح أي أنها تسمح لنا كمبرمجين .


 بإنشاء وحجز المتغيرات بدون الحاجة لتحديد نوع المتغير.



النوع الأول: المتغيرات النصية : (String Variables ) 


هو نوع من المتغيرات يمثل السلاسل النصية أو بتعبير أبسط النصوص .


ويمكن التصريح به على الشكل التالي .


لاحظت أننا كتبنا اسم المتغير الذي نريد ، ثم أتبعناه بإشارة التساوي التي تُستخدم لإسناد القيمة إليه .


الأمر المهم الذي أريدك أن تحفظه هو أننا إذا أردنا إسناد قيمة من نوع سترينغ لأي متغير.


يجب وضعها داخل علامتي تنصيص ("") مزدوجتين .


كما يمكنك أيضاً استخدام علامتي تنصيص مفردتين أو علامات تنصيص ثلاثية .


النوع الثاني : المتغيرات الرقمية (Numeric Variables)


المتغيرات الرقمية تنقسم لـ 3 أنواع :


متغير من نوع اينتيجر ويمثل عدد صحيح ، وهو الذي نشير إليه في الرياضيات بالرمز  زي .


يمكن حجز هذا النوع من المتغيرات بهذه الطريقة .


يمثل الأعداد التي تحتوي على فاصلة عشرية متغير من نوع فلوت ومتغير من نوع كومبليكس .


 ويمثل الأعداد المركبة أو الأعداد العقدية ، وهي أعداد تخيلية لا أريد التطرق إليها لأنك قد لا تستخدمها نهائياً .


النوع الثالث : المتغيرات المتسلسلة  ( Sequence Variables)


هي نوع من المتغيرات يمكنها أن تحمل قيم متعددة في نفس الوقت .


ويطلق عليه (إيدربلز) لأنها تتميز بمجموعة من الخصائص والوظائف .



 إذن هناك 3 أنواع من المتغيرات المتسلسلة في python القوائم ليستس .


متغير القائمة ليست في لغات البرمجة الأخرى يطلق عليه آري أي المصفوفة .


 هذا المتغير يتم إسناد القيمة إليه باستخدام  القوسان المستطيلان .


توضع بداخلهما العناصر التي نريد التصريح بها ونفصل بينها بفاصلة .


 يمكن  استخدام أي نوع  تريد من المتغيرات داخلها و يشمل ذلك استخدام قوائم في داخلها أيضاً .


تستطيع  طباعة  أي عنصر محدد من داخل القائمة  عليك  أن تكتب اسم القائمة بعدها ترتيب العنصر بهذا المثال .


المجموعات توبلز.


التوبل متغير مشابه للقوائم تماما ، إلّا أنه ثابث  ولا يمكن التلاعب بالعناصر الموجودة بداخله ولا تجزئتها .


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


الـ سيتس .


الـ سيت من حيث المبدأ شبيهة بالـ توبل إلا أن العناصر الموجودة داخلها .


لا يجب أن تكون مكررة ولا مرتبة وإذا حاولت وضع أي متغير متسلسل داخلها لا تقبله .


لتعريف متغير من نوع سيت يجب استخدام الأقواس المزهّرة {} ، عند وضع قيمتين مكررتين داخل الـ سيت ستلاحظ أن القيمة المكررة تم حذفها .


النوع الرابع : متغيرات التعيين :Mapping Variables


وهنا سنتكلم عن متغير واحد هو متغير القواميس ديكت ،   شبيه بمتغير القائمة .


حيث يمكن أيضا أن يحتوي عناصر متعددة إلا أنه يعمل بطريقة المفتاح والقيمة .


لإنشاء متغير ديكت نستخدم هذين القوسين المزهّرين تم نكتب اسم المفتاح ثم نقطتان لإسناد القيمة إليه .


ولطباعة عنصر معين من القاموس نستخدم اسم مفتاحه .


النوع الخامس : المتغير المنطقي :Boolean variable


المتغير البولياني يحمل قيمتين فقط وهما ترو   أو فالز ، يعني صح أو خطأ .


ويتم التصريح بهذا النوع من المتغيرات بإسناد إحدى هاتين القيمتين إليه .


النوع السادس : المتغيرات الثنائية :Binary variables 


المتغيرات الباينارية هي مجموعة من المتغيرات تُخزن  سلسلة من القيم بين 0 و 255 (أي 8 بت .


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


كانت هذه الأنواع الستة هي المتغيرات الأساسية في لغة بايثون .


الآن سيكون قد اتضح لك أن تعريف المتغيرات هنا بسيط وديناميكي .


ما رأيك أن نقوم بعمل مقارنة بين  البايثون  وبين لغات تعتمد على ستاتيك تيبين .


 وعلى اليمين لغة python  .على اليسار طريقة تعريف المتغيرات في لغة السي و لغة سي شارب .


كما تلاحظ في  لغة  بايثون  يتم التعرف على نوع المتغير أوتوماتيكيا من خلال قيمته .


 كيف نتحقق من نوع المتغير ؟ 


ببساطة نقوم بكتابة تايب  يليها اسم المتغير بين قوسين على الشكل التالي .


 تظهر أنواع المتغيرات بشكل مختصر.


 في كل لغات البرمجة  . المتغيرات يمكن إجراء العديد من  عمليات عليها .


على سبيل المثال المتغيرات الرقمية يمكن استخدام العمليات الحسابية عليها بشكل رياضي محض ، مثل .


عملية الجمع , عملية الضرب , عملية القسمة. الاُس .


وغيرها من العمليات الرياضية الأخرى .


كتب تعليم البرمجة للمبتدئين pdf


ولكن يجب أن تنتبه لأنه لا يمكنك استخدام العمليات الرياضية بين متغيرين أحدهم رقمي وآخر نصي .


في هذه الحالة ستظهر رسالة الخطأ .


  يمكن استعمال بعض الرموز الرياضية  في بايثون على متغيرات نصية بهذه الطريقة .


 وعلى السلاسل أيضا . كما يمكن إسناد القيم للمتغيرات على شكل العمليات الرياضية .


 نهاية الفصل الأول  من  تعلم  لغة  البرمجة  البايثون  كتاب pdf . المرحلة الأولى .


سنتكلم في الفصل القادم عن الحجر الأساس في المنطق البرمجي : العمليات الشرطية .

 

العمليات الشرطية :Conditional Operations 


 عليك أن تعرف أن بايثون  python  من لغات البرمجة  العالية المستوى قبل أن نتطرق للعمليات الشرطية .


 تستمد المنطق الخاص بها من الرياضيات وتستخدم رموزا مشابهة لتنفيذ عمليات المقارنة والعمليات المنطقية على المتغيرات .


 هذه الرموز ( operator )  تُسمى بشكل عام العوامل .


 الآن سنتعرف على عوامل المقارنة ونستخدمها لمقارنة متغيرين أو أكثر مع بعض .


 للتحقق من  المتغير الأول يساوي المتغير الثاني  . نستخدم إشارتي التساوي .


والناتج يكون ترو إن تحقق شرط التساوي ، فالز إن لم يتحقق .


علامة التعجب وإشارة تساوي هي عكس العامل السابق ، وتستخدم للتحقق من عدم تَساوي المتغير الأول للمتغير الثاني .


الناتج يكون ترو إن تحقق شرط التساوى .


شارة أكبر من  تستخدم للتحقق بأن المتغير الأول أكبر من الثاني .


إشارة أصغر من  تستخدم للتحقق بأن المتغير الأول أصغر من الثاني .


يوجد لدينا أيضاً أكبر من أو تُساوي ، وأصغر من أو تُساوي وتكتبان بهذا الشكل .


"if statement"  كما تسمى في كل لغات البرمجة .


 تُكتب الجملة الشرطية بهذا الشكل في لغة python .


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


نُتبعها بنقطتين بعدها نضغط انتر للذهاب للسطر الثاني : نلاحظ أنه تم إضافة فراغ تلقائي .


  identation هذا الفراغ يُسمى ويشير إلى ما سنكتبه هنا .


 identation  الـ .


spaces هي عبار عن أربعة . tab ويمكن إضافتها عبر مفتاح  من لوحة المفاتيح .


 . هذه جملة شرطية بسيطة . بعد الفراغ نكتب الشيء ,  الذي نريد أن يتنفذ بعد تحقق شرط .


اختيارياً يمكننا العودة إلى السطر التالي وإضافة عِبارَة  اختيارياً يمكننا العودة إلى السطر التالي وإضافة عِبارَة .


 التي تعني أنه في حالة عدم تحقق الشرط condition سيتم تنفيذ الكود الموجود تحتها .


انتبه جيداً للفراغات ، يجب أن تكون تحت  مباشرة ، كما يجب أن يكون الموجود تحتها مسبوقاً بـ .


إليك مثال بسيط :


نقوم بتعريف متغيرين أي و بي و سي  وإسناد القيم إليهما بالشكل التالي .


لنفترض أننا نريد من البرنامج أن يقوم بطباعة كلمة  "يس" .


إذا كان المتغيرين متساويان وكلمة "نو"  إذا كان العكس ، **فإننا سنكتب الجملة الشرطية بهذه الطريقة .


أولا عبارة if تم الشرط الذي نريد تحقيقه ، ثم else لتحديد ماذا سيحصل إن لم يتحقق الشرط ....


عند تنفيذ الكود تمت طباعة yes لأن المتغيرين a و  b لهما نفس القيمة .


 جيد ،دعنا نجرب نفس الكود وبكن بمقارنة a و   c .


تمت طباعة “no” وفي هذه الحالة بما أن الشرط لم يتحقق تم تنفيذ الكود الموجود داخل else .


هذه هي الجملة الشرطية بكل بساطة .


ولكن هل تعلم أنه يمكنك استخدام ما يُسمى بالعوامل المنطقية (لوجيكال اوبيرايتورز) داخلها .


هذه العوامل هي : أند   و أور  و نوت  وهي تشرح نفسها ومعناها واضح .


في هذه الجملة الشرط هو إذا كانت a و b  أكبر من 10 قم بطباعة "yes" .


وهنا استخدمنا or التي تعني بالعربي "أو" 


أما نوت  فسنرى كيفية استخدامه بعد التعرف على معامِلات الهوية  إيدانتيتي أوبيراتور وهي عبارة عن معاملي .


: إيز و نوت أيز.


في هذا المثال is تعني "هو" وقد تمت طباعة "yes"  لأن قيمة a هي قيمة c . وعند استخدام not قبل is  فإنها تعكس عمله .


النوع الأخير من المعاملات الذي أريدك أن تتعرف عليه .


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



هو ما يسمى بمُعاملات العضوية أو الإنتساب ممبر شيب أوبيرايتوز .


وهما :  إن  و نوت إن :ونستخدمها للتحقق من وجود أو عدم وجود قيمة معينة داخل متغير محدد .


على سبيل المثال في هذا التطبيق قمنا بإنشاء قائمة تحتوي على أسماء ونريد التحقق إن كان إسم "إبراهيم" بينها أو لا.


أما نوت إن  فهي عكس إن . تماما مثل اللغة الإنجليزية .


أخيرا  في حالة أردت عمل شروط متعددة يُمكن إضافة إيليف للجمل الشرطية .


بحيث تكون صيغتها على الشكل التالي أو مثل هذا المثال .


كان هذا كل شيء عن الجمل الشرطية .بالإضافة  يمكنك كتابة جمل شرطية داخل بعض على هذا الشكل .


إذا كنت تستطيع حل هذا التمرين الذي يظهر على الشاشة وتنفيذ الكود بنجاح وبدون أخطاء على الكمبيوتر. ألانَ  يمكنك المتابعة .


الفصل التالي الذي ستتعلم فيه عن الحلقات التكرارية.


التي تسبب الكثير من الارتباك لأغلب المبرمجين المبتدئين .تعلم البرمجة من الصفر حتى الاحتراف pdf .


 الحلقات التكرارية .كمبرمجين أحيانًا نحتاج لتكرار مجموعة من الأوامر بشكل متتابع .


أو لتنفيذ أمر معين لعدد محدد من المرات .


أولا لكي تتعرف على أهمية الحلقات التكرارية إليك هذه المسألة .


مثلا لدينا قائمة تحتوي على أسماء المشتركين الأكثر تفاعلا في قناتنا واسمها "أكتيف سابز"


 ونريد طباعة هذه الأسماء كل اسم على حِدة .  فإننا بدون استخدام الحلقات التكرارية .


سنضطر لكتابة الكود بالطريقة التالية : لو كانت هذه القائمة تحتوي على أكثر من 1000 اسم .


 كتابة ألف سطر ألن يكون  مضيعة للوقت والجهد؟


 الحلقات وباستخدامها يمكننا اختصار الكود إلى سطرين فقط .


 أنواع الحلقات التكرارية في لغة بايثون .



 في تعلم لغة البرمجة python . هناك نوعان من الحلقات التكرارية .


النوع الأول فور لوبس .حلقات الـ فور لوبس هي النوع الأكثر استخداما وانتشاراً  .


 بنفس الصيغة  وموجودة تقريبا في كل لغات البرمجة python  وهي تُكتب بهذه الصيغة .


 متغير من نوع ليست باسم اكتيف سابس . قبل كل شيء بدأنا بتعريفه .


 ووضعنا داخله أسماء بعض الأسماء.ثم بدأنا حلقة التكرار  بكتابة العبارة .


أتبعناها متغير الحلقة اكس ، يمكنك اختيار أي اسم تريده لمتغير الحلقة بالمناسبة .


ثم كتبنا ان متبوعة اسم : القائمة اكتيف سابس التي شرحناها في السطر الأول .


نقطتين وبعدها عدنا إلى السطر وتم كتابة التعليمة لطباعة المتغير اكس .


مرة أخرى انتبه للفراغ identation ، لأن جميع الأوامر التي تريدها أن تتنفذ داخل الحلقة يجب أن تكون تابعة لها .


سنقوم بتنفيذ الكود لنرى ماذا سيحصل .


إذن بإيجاز يمكننا اختصار الكود في التالي :


قُم بطباعة العنصر الحالي في كل مرة .لكل عنصر من عناصر القائمة " أكتيف سابس " 


 أن متغير الحلقة يُمثل العنصر( 1) في اللفة الأولى ثم يمثل العنصر(2) في اللفة الثانية .


وهكذا  حتى يصل إلى آخر العناصر في القائمة ثم تنتهي الحلقة.


عرفنا أن الحلقات تُستخدم لتجزئة المتغيرات القابلة للتجزئة كالمتغيرات المتسلسلة ثم تقوم باللف عليها بعدد عناصرها


ولكن ماذا لو أردنا فقط تكرار كود معين لعدد محدد من المرات بدون استخدام أي متغير.


**في هذه الحالة نستخدم دالة range() ،متبوعة بعدد المرات التي نريد أن يتنفذ بها الكود الذي بداخل الحلقة ،  بهذه الطريقة :**


أما النوع الثاني من الحلقات فهو حلقات وايل لوبس ، وتسمى الحلقات الشرطية وسبب هذه التسمية ستتعرف عليه من خلال هذا المثال :


قمنا بتعريف متغير باسم ماجيك نامبر وأسند إليه القيمة 10.


بدأنا الحلقة باسم while متبوع بهذا الشرط الذي يساوي 10 سيتحقق طبعا في حالة كانت القيمة للمتغير Magic_number .


لقد تعلمنا هذا في  درس التعابير الشرطية يمكنك الرجوع إليه .


تعلم لغات البرمجة pdf


أخير كتبنا تعليمة الطباعة داخل الحلقة .


وهذا يعني أن تعليمة الطباعة سوف تتكرر مادام الشرط : Magic_number == 10 صحيح .


قمنا بتغيير قيمة المتغير Magic_number إلى صفر ، ,وغيرنا الشرط إلى Magic_number < 10 .


وأضفنا سطر جديد للكود لكي تتغير قيمته في كل لفة للحلقة بـ +1 .


عند تنفيذ الكود سنلاحظ أن عبارة (“its magic!”) ستستمر بطباعة نفسها مادامت قيمة  Magic_number أصغر من 10.


 ستتوقف الحلقة تلقائيا . حين يصبح أكبر من (10) .


انتهى  شرح  الحلقات .


اذا استطعت أن تقوم بحل التمرين الذي يظهر أمامك الآن على الشاشة فقد استوعبت الدرس جيداً .


الدوال : Functions .


الدوال مفردها دالة ويقابلها في اللفظ الإنجليزي مصطلح "ميثود" او "فانكشن" 


الدالة هي وحَدة  من الكود تؤدي وظيفة ما. لا يمكن بحيث  تنفيذها إلا عند استدعائها .


مفهوم الدوال أخذته البرمجة من الرياضيات .


فإذا كان لديك أساس رياضي قوي فستكون إلى هذه اللحظة قد فهمت بأن الدوال هي عملية تدل على قيمة أو وظيفة محددة إنطلاقاً من قيمة مسبقة .


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


 والدوال في لغة البرمجة  البايثون : نوعان .


النوع الأول : الدوال الجاهزة 

(Built-in Functions) 


 الدوال والوظائف الجاهزة هي مجموعة كبيرة و توجد داخل للغة البايثون . عبر استدعائها متى شئت بحث يمكنك استخدامها .


 دالة الطباعة print أو  type  على سبيل المثال . التي نستخدمها لمعرفة نوع المتغير.


أو دالة len التي نعرف بها طول النصوص أو السلاسل .


لكي تتعرف من حين لآخر على دوال جديدة ، ما عليك سوى كتابة اسم المتغير متبوعا بنقطة وستظهر أمامك قائمة بأغلب الدوال والوظائف التابعة له .


كل الدول تنتهي بالأقواس ، الأقواس تكون فارغة في حالة كون الدالة لا تحتاج منك معلومات إضافية .


النوع الثاني : الدوال المُعرّفة

(User-defined Functions


هذا النوع من الدوال أنت من يجب عليك تعريفها وتحديد وظائفها عزيزي المبرمج .


وطريقة كتابة دالة جديدة ينبغي أن تكون بسيطة في بايثون ، بهذه الطريقة تماماً .


لتعريف أي دالة نستخدم عبارة def  وهي اختصار لكلمة define .


بعدها  تضع  اسم  الذي اخترته للدالة متبوعاً (: ) بقوسين فارغين ونقطتين .


 تعود للسطر بعدها لوضع الوظائف وأيضا القيم التابعة للدالة داخلها .


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


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


 أولاً تمرير القيم للدالة .القيم التي يتم تمريرها إلى الدالة تدعى بارامترات وهي عبارة عن متغيرات تابعة للدالة .


 قمنا بإنشاء دالة بدون بارمترات .في المثال السابق .


الآن سنقوم بإنشاء دالة تأخذ بارامتر واحد وتعيد طباعته .


 فلقد وضعنا المتغير name  كما ترى . بين قوسي الدالة وفي تعليمة الطباعة .


في هذه الحالة لدينا دالة تحتوي على بارامتر واحد .


ويجب علينا أثناء استدعاء الدالة وضع قيمة المتغير اسم وإلا ستظهر رسالة خطأ .


كما ترى في كل مرة نضع قيمة جديدة يتم طباعة التحية متبوعة با الاسم . ثانيا استرجاع القيم من الدالة .


في المثال السابق الدالة أخدت متغير واحد وقامت بعملية الطباعة فقط ولكنها لم تُعِد لنا أية قيمة .


 لاسترجاع  قيمة محددة من الدالة نستخدم تعليمة "ريتورن" 


 سنقوم في هذا المثال . بتعريف دالة  نأخذ متغيرين وتُرجع لنا حاصل جمعهما .


ونقوم باستدعاء الدالة بهذه الطريقة  أو بوضع قيمتها في متغير جديد بهذا الشكل .


هذه المفاهيم تشمل القيم الافتراضية  والـ كيورد أكريمنتس .


وأخيراً من المفيد أن تعلم أن لغة  البرمجة python  تدعم نوعا آخر من الدوال يُدعى دوال لامبدأ .


وهي عبارة عن دوال مختصرة تبدأ بعبارة "لامبدأ"  ويمكن تعريفها بالشكل التالي .واستدعاءها بهذه الطريقة  .


يمكنك التدرب عن طريق حل مسائل مثل هذه التي تظهر أمامك على الشاشة .


معالجة الأخطاء والاستثناءات ( Exceptions Handling )

.


فأي برنامج كمبيوتر يمكن أن يتوقف عن العمل إذا حصل خطأ معين في الكود الخاص .


 بعض الحالات الأخطاء البرمجية قد تُعرّض المُستخدِم لضياع بياناته أو حتى تعرضها للاختراق  .


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


ولغة بايثون من ضمن اللغات التي توفّر هذه الآلية بشكل بسيط وأكثر فاعلية .


 دعنا نتطرق الى  الأخطاء التي يمكن تواجه  . في التعلم للمبتدئين في تعلم لغة البايثون pdf .


الأخطاء البنيوية ( Syntax Errors )


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


لا يسمح لك بتنفيذ الكود أساسا .هذا النوع من الأخطاء .


الاستثناءات  (Exceptions ) .

تعلم البرمجة للمبتدئين pdf


وهي أخطاء برمجية تحدث عند تنفيذ الكود وينتج عنها توقف البرنامج .


الأخطاء المنطقية ( Logical Errors )


هذا النوع من الأخطاء هو الاسوء لأنه لا ينتج عنه توقف البرنامج ولا رسالة الخطأ .


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


طلبنا من المستخدم إدخال قيمتين  xوy  عبر دالة input ثم قمنا بطباعة x+y .


 كما ترى اشتغل الكود بطريقة صحيحة إلّا أنه يعطيك نتائج خاطئة .


السبب هو أن القيمة الافتراضية لدالة INPUT تكون دائما من نوع string أي نصية ، وتطبيق عملية الجمع على النصوص يعمل بهذه الطريقة .


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


هنا أي كود سنكتبه داخل العبارة try  لن يتسبب في إيقاف البرنامج ولا في ظهور رسالة الخطأ .


بل سينتقل البرنامج تلقائيا عند الخطأ إلى تنفيذ الكود الموجود داخل عبارة except .


كما ترى لم يحصل أي خطأ رغم أننا استخدمنا متغير b الذي لم نقم بتعريفه من قبل ، لنُعد تجربة الكود بدون try /except  .


لاحظ معي، لقد ظهر خطأ من نوع NameError .


 هذا هو ما يسمى الاسثناء Exceptions . يمكننا كتابة الكود السابق على الشكل التالي.


هنا سيقول سائل لماذا كتبت اسم الاستثناء بجانب "اكسبيكت" .


السبب يا صديقي هو أنه أثناء كتابة كود يَحتمِل حصول أكثر من خطأ ستريد تخصيص  "اكسبيكت" مختلف لكل خطأ بالشكل التالي .


أسماء الأخطاء يمكنكم الحصول عليها من رسائل الخطأ ويمكنكم استخدامها كاستثناءات للتعامل مع هذه الأخطاء .


بالإضافة إلى عبارتي "تراي" و  "إكسبيكت" هناك.


عبارة "فاينالي : التي سيتنفذ الكود الذي بداخلها سواء عند الخطأ أو لا .


 التي سيتنفذ  كود موجود بداخلها في حال . عدم ظهور أي خطأ .عبارة "إيلز" :


تثبيت المكتبات (Libraries Installation )


المكتبات في لغة بايثون تعتبر ميزة قوية جداً .


كما أنها تضيف الكثير من الخصائص الجديدة للغة .


 في لغة البرمجة  البايثون  يوجد مكتبات لأي شيء تحتاجه .


 يمكنك تثبيتها  باستخدام مُدير الحُزم "بيب" الذي يأتي مع النسخة الحالية من لغة البرمجة البايثون  pdf .


لا أريد أن أتطرق إلى كيفية تثبيت الحُزم على "جوجل كولاب" أو على "بايدرويد"  فذلك ليس عملي نهائياً .


 سنعود إلى بيئة تطوير حقيقية و سنستخدم الفيجوال ستوديو كود .


عملية التثبيت تتم في الجهاز باستخدام شاشة الأوامر "سي إم دي"  أو  "تيرمينال"


 حسب النظام الذي تستخدمه .


اذا كنت تريد  تنزيل إحدى المكتبات .


التي ستمكننا من تحويل التاريخ الميلادي إلى الهجري والعكس .


ستذهب إلى  بايبي دوت أورغ  الفهرس الخاص بالمكتبات .


وسنبحث عن كلمة هجري ، سنختار إحدى الحزم ، كما ترى هذه صفحة .


 يوجد أمر تثبيت المكتبة .


عليك  نسخه ثم وضعة في مُوجّه الأوامر " الـ كومند برومت" الخاص بجهاز الكمبيوتر وانتظار تثبيت الحزمة"


 ولكننا لا نعرف طريقة استخدامها . بعد أن تم تثبيت الحزمة .


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


أولاً هذه تعليمة استيراد المكتبة .


ثانيا هذه طريقة تحويل التاريخ من الهجري إلى الميلادي .


الوظيفة الأخرى هي تحويل التاريخ الميلادي إلى الهجري سنقوم بتجربتها أيضا .


هذه المكتبة ستبقى في جهازنا ولن نحتاج إلى تثبيتها كل مرة .


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


من المعلوم أيضا أن بايثون تحتوي على مكتبات مُضمنة بداخلها لا تحتاج إلى تثبيت .


كل ما عليك هو استيرادها ، على سبيل المثال هنا سنقوم باستيراد مكتبة راندوم  لطباعة رقم عشوائي يقع بين 0 و 9 .


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


 فالحُزَم عبارة عن أكواد  لغة البرمجة البايثون في ملفات مستقلة .


ما يمكن لأي شخص أن يقوم بإنشاء أي حزمة يريدها ورفعها لمدير الحزم .


 سيتمكن وبذلك أي مستخدم آخر في العالم من تثبيتها واستخدامها .


لا أنصحك بفعل ذلك قبل أن تتقن لغة البرمجة بايثون فهذا الأمر الآن لن يفيدك .


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


التمرين الخاص بهذه المرحلة هو تثبيت واستخدام هذه المكتبات التي ستظهر أسماءها أمامك الآن .


 وفي لغة بايثون بشكل خاص ، انصحك بي كتاب بايثون كراش كورس  .


كما أقترح عليك أيضاً هذا الكتاب الممُتع  (automation )


تستطيع قراءة الكتاب بشكل  مجاني على الموقع الخاص به .

 

أولاً الخوارزميات  (Algorithms) .


السؤال الذي يكرر نفسه دائما .أيهما أتعلم أولاً : البرمجة أم الخوارزميات ؟


الجواب : لا أحد منهما سابق للآخر .


ومازلنا نؤكد على ضرورة تعلّم الخوارزميات أثناء تعلمك للبرمجة .


 ستصل إلى نقطة  ستعرف  أن البرمجة ليست سوى خوارزميات فيما بعد .


وكل كودٍ ستكتبه هو عبارة عن خوارزمية .


إذن كيف يمكنك تعلم هذه الخوارزميات ، وما هي أفضل طريقة ؟


شخصياً سأنصحك  بهذا الكتاب "Croken Algorithms" . تجد فيه كل ما تحتاج بشكل مبسط .


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


أو إذا كنت من عشاق الكورسات الشاملة يوجد كورس .


( Python 3: Project-based Python, Algorithms, Data Structures )


 على موقع udemy


وهو كورس مدفوع بالمناسبة ولكن يمكنك البحث عن كوبونات التخفيض .


 التي تصل أحيانا إلى 100% للحصول عليه مجانا أو بـ 10 دولار على الأقل .


ثانياً البرمجة الشيئية .

( Object Oriented Programming )


يطلق عليها أيضاً البرمجة كائنية التوجُّه أو كائنية المنحى .


وهي مجرد بارادايم أو أسلوب متقدم لتنظيم الشيفرة .


يقسم فيه البرنامج إلى وحدات تسمى كائنات . و يعتبر حزمة من البيانات والوحدات لها وظائفها  .


وكل كائن هو عبارة عن حزمة من البيانات والوحدات لها وظائفها وطرقها .


هذا النمط أو الأسلوب من البرمجة  تكون فيه أجزاء الشّيفرة منظمة داخل دوال تُسمّى التوابع "ميثودس .


ويتم تنظيم كل هذا داخل أصناف تسمى كلاسات .عند إنشاء كائن من صنف "كلاس" معين .


فإنّه يمكنك أن تُنفذ عليه كل الوظائف والخصائص الموجودة داخل توابع الكلاس .


تعبير قسم  وإتباعه باسم الكلاس نقطتي وعودة لأول السطر ولا تنسى الإزاحة .


إذن هذا الكلاس ، وبداخله يمكنك وضع كل توابعه بهذا الشكل .


كما ترى يمكننا تعريف المتغيرات داخل الكلاس بطريقة بسيطة .

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


ولكن جميع التوابع يجب أن تُعرّف مع البارامتر سالف وجوباً كما فعلنا مع الدالة ماي مثود .


إذن للوصول إلى متغيرات الكلاس أو عند استدعاء توابعه نستخدم هذه الطريقة .


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


وإذا أردت مواد عربية مرئية تشرح المفهوم فما عليك سوى فتح اليوتيوب وكتابة البحث التالي .


البرمجة الكائنية "أو أو بي" بايثون .


أعتقد أنك ستجد مواد جيدة ، إلا أنك إن كنت تبحث عن كورس جيد فعليك بكورس .


( Python Classes and Inheritance )


الذي تقدمه جامعة Michigan  على منصة كورسيرا


ثالثا البرمجة المتوازية ( Parallel programming )


هي الاستخدام المتزامن لموارد العتاد البرمجي.


 من "سي بي يو" و "جي بي يو" وغيرهما لتنفيذ كود أو شفرة برمجية معينة .


عبر تقسيمها إلى أجزاء/تعليمات منفصلة يمكن تنفيذها في وقت واحد .


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


 والخروج عن النمط التقليدي للبرمجة المتسلسلة التي يتم فيها تنفيذ الدوال على التوالي .


هذه الدالة ستأخذ متغيرين : الأول هو عنوان الصورة .


 الثاني نا يم  وهو الاسم الذي ستحفظ به الصورة في الجهاز .


 وسوف نستخدم مكتبة البرمجة المتوازية ملتي بروسيسينغ لتحميل الصور بشكل متوازي .


أول شيء نقوم باستيراد المكتبات اللّازمة .


واستخدمنا مكتبة Random  . لتوليد أرقام عشوائية لتسمية الصور التي سيتم تحميلها بها (تفاديا للأخطاء .


بعد استيراد المكتبات سنقوم بتعريف دالة التحميل .


داخل دالة download  استخدمنا urllib لتحميل الملف من الأنترنت باستخدام العنوان URL .


مثال عنوان موقعنا https://www.book2020pdf.xyz/


وتسميته برقم عشوائي بين 0 و 444 ثم أضفنا  نوع الملف ” ج .ب. ج ” إليه .



الآن وصلنا إلى مرحلة تنفيذ الدالة download على محتويات القائمة urls بالتوازي .


قمنا بتعريف عدد عمليات التوازي في الـ بوول وهي عبارة عن 3 .


ثم  قمنا باستدعاء نسخة من الدالة download مع كل عنصر من عناصر القائمة urls بالتوازي .


وأعدنا القيم المرجعة من الدالة .كما ترى نجح معنا الأمر .



ففي البرمجة التسلسلية فإن ما سيحصل هو أن يقوم البرنامج بانتظار الصورة الأولى حتى تتحمل ثم يذهب لتحميل الصورة التي تليها .


أما في البرمجة المتوازية فإن البرنامج سيقوم بتحميل كل الصور في نفس الوقت .


يمكنك الاطلاع على المكتبة الغنية والرائعة "multiprocessing" وأيضا  مكتبة "milati turidin" 


وهما موجودتان في لغة بايثون ولن تحتاج إلى تثبيتهما .


أما إذا أردت التعمق أكثر فأنصحك بالقراءة عن البرمجة اللامتزامنة  ( asynchronous programming )


حيث أنها تعتبر من أقوى وأحدث أساليب المعالجة المتوازية 


كونها قابلة للجمع بين مسارات التنفيذ-الخيوط ، و تعدد المُعالِجات 


 يمكن استخدامها في لغة البرمجة  python عن طريق مكتبة "أيسن كايو" البرمجة اللامتزامنة .


لذا عليك تعلم هذه المكتبة إن كنت مهتم في تعلم لغات البرمجة pdf .


أخيراً أقترح عليكم  "كوري شافر" أساسيات مكتبة "ميلتي بروسيسين"


أو درس 

(Demystifying Python's Async and Await Keywords)


الذي قدمته قناة "JetBrainsTV "


الخطوة الثالثة :شحذ المهارات .


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


هذه النصائح إن تجاهلتها ربما ستضيع كل ما تعلمته في السابق ولن تترسخ لديك المعرفة الكافية في الاحتراف  بشكل جيد .


أولاً : تعلّم جيت وجيت هب . أنشئ حساب جديد على "كيت هاب"  وحاول أن تتعلم استخدام "كيت"  .


 مع محرر الشيفرة الذي تستخدمه .GitHub  يسمح لك بمشاركة الأكواد والتعاون مع أصدقائك .


 كما يسمح لك أيضا بحفظ مشاريعك من الضياع أو العودة إلى نسخ سابقة منها متى شئت .


ثانياً :حلل أكود الآخرين .


وأنت تتصفح مشاريع وأكواد زملائك المبرمجين على جيت هب ، تأملها .


حاول فهمها باستخدام مهارة التحليل لديك ، ستكتشف طرق جديدة للتفكير.


ثالثا :استثمر ما تعلمت في مشروع صغير .


هذه هي أهم نصيحة سيقدمها لك أي أحد هنا ، اختر مشروع صغير وحاول تنفيذه من الأول للأخير .


 والمعرفة كلما شاركتها مع الآخرين تزداد ترسخا لديك وستشعر بالرضى عن نفسك .


الخطوة الرابعة :التخصص .


عند وصولك إلى هذه المرحلة ستكون قادراً على الإكمال بمفردك .


أثق بذلك رغم أنني أعلم أن الأمر ليس بالسهل أو الهين .


 ففي الماضي القريب كان همك الوحيد هو : كيف وماذا أتعلم ؟


الآن أنت بمفترق الطرق والسؤال الذي أصبح يؤرقك هو .


ماذا أفعل بما تعلمت ؟ هنا يجب أن تحدد أولاً ماذا تريد .


 ما هو شغفك ؟ في أي مجال تريد أن تتخصص .


لمساعدتك هذه أهم 5 تخصصات يمكنك استخدام بايثون فيها .علم البيانات  :


حيث يلتقي كل شيء متعلق بالبيانات مع الذكاء الاصطناعي  (بالإنجليزية: Artificial Intelligence) 


تطوير الويب .وهو المجال الذي نقوم فيه ببناء تطبيقات ومواقع الأنترنت .


هنا يجب أن تتجه لتعلم إحدى  طرق الويب الخاصة ببايثون كـ "Django" أو "Flask"


الشبكات والحماية .وهو مجموعة من التخصصات تتعلق بإنشاء وصيانة الشبكات وحمايتها .


وهذا يندرج ضمنه ما يسمى اختبارات الاختراق والهاكر الأخلاقي .


برمجة الأنظمة المدمجة والروبوت . وهي القطع الإلكترونية الدقيقة القابلة للبرمجة مثل ( Raspberry Pi ) و( Microcontroller) 


أنترنت الأشياء . وهي تلك الشبكة أو ذلك النظام الذي يسمح للأجهزة الصغيرة للتواصل والعمل مع بعضها .


كما يحصل في البيوت الذكية . بكل تأكيد لا يُمكن حصر التخصصات الموجودة فما ذكرناه ليس سوى غيض من فيض .


وكل تخصص من هذه التخصصات التي أشرنا إليها . يمكن أن يتفرع لعشراتٍ من التخصصات الأخرى .


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


إذا قمت باختيار تخصصك فهذا يعني بداية طريق جديد . نحو الاحْتِرَافُ .


ينبغي عليك البحث والعمل .خاصة في وقتنا الحالي حيث أصبح الأنترنت متاح في كل مكان ومنها اليوتيوب .


مستعينا بأفضل الكورسات المتوفرة في الأنترنت أو بتخصصك الجامعي .


 كما يجب عليك دراسة التخصص بشكل جاد والحصول على شهادة فيه .


 من أحد الكورسات الموجودة على موقع  coursera أو " edx" أو أي جهة تقدم شهادات معترف بها .


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


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



كتابة تعليق