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

نظرة سريعة على الفهرس
- مقدمة
- تحميل وتثبيت متطلبات الكتاب
- الفصل 1: جولة استكشافية في بايثون
- الفصل 2: العدد (Number نمبر) والنص (String سترينچ) وبعض العمليات الأساسية
- الفصل 3: اللوائح/(List لِيسْت) وأمر التكرار for/(فور لوپ)
- تقدمة للقراء الكرام: موارد للتحميل
- الفصل 4: (if) الشرطية
- الفصل 5: القاموس و (التپل) و (الست)
- الفصل 6: أمر التكرار المشروط while loop
- الفصل 7: (الفانكشن)
- الفصل 8: (الكلاس Class)
- الفصل 9: إدارة الملفات، والاستيراد
عرض الفهرس كاملاً
- مقدمة
-
تحميل وتثبيت متطلبات الكتاب
- 1- تحميل وتثبيت Python (پايثون)
- 2- تحميل وتثبيت PyCharm (پايتشارم)
- 2.1- جولة استكشافية في برنامج PyCharm (پايتشارم)
- 2.1.i- ما هو برنامج PyCharm؟
- 2.1.ii- واجهة PyCharm
- 2.2- تحميل وتثبيت الباقات/المكتبات المطلوبة لمخططات الكتاب
- 2.1- جولة استكشافية في برنامج PyCharm (پايتشارم)
-
الفصل -1-جولة استكشافية في Python
- 1- (الفانكشن Function) ()print
- 2- (الڤاريابل Variable) و (الڤاليو Value)
- 3- (الميثود Method) ()title. و ()lower. و ()upper.
- تمرين الفصل الأول
-
الفصل -2-العدد (Number نمبر)والنص (String سترينچ)وبعض العمليات الأساسية
- 1- العدد (Number نمبر)
- 2- حالات استخدام عامل الجمع (+) بين الأعداد/(نمبر)، وبين النصوص/(سترينچ)
- 3- (الفانكشن) ()int والفانكشن ()str
- 4- أنواع العدد في (پايثون)وبعض العمليات الحسابية الأساسية
- 5- أوامر تتعلق بالتعامل مع (السترينچ)
- 5.1- استخدام رمز الفاصلة ( , ) ضمن (الفانكشن) ()printلجمع-النصوص/(كومباينينچ)، والفصل فيما بينها بفراغ
- 5.2- مسافة البدء (t\) والنزول إلى سطر جديد (n\)
- 5.3- تعريف (السترينچ) بالطريقة السداسية """ """
- 5.4- إزالة الفراغات عن أطراف (السترينچ) ().strip ().rstrip ().lstrip
- 5.5- استخدام رمز الشرطة العكسية (\) لتجاوز الرموز الخاصةأو تجزئة أسطر (الكود) الطويلة إلى عدة أسطر
- 6- إضافة التعليقات إلى (الكود) (#)
- تمرين الفصل الثاني
- هل تعلم عن (ماينكرافت)؟
- (Untitled)
-
الفصل -3-اللوائح/(List لِيسْت)وأمر التكرار for/(فور لوپ)
- 1- مقدمة إلى اللوائح
- 1.1- تراتبية عناصر اللائحة و (كود) العنصر
- 1.2- تعديل اللوائح
- 1.2.i- إضافة العناصر إلى اللائحة
- 1.2.ii- حذف العناصر من اللائحة
- 1.3- تعديل عنصر محدد من اللائحة بواسطة (كود) العنصر
- 1.4- إعادة ترتيب عناصر اللائحة
- 1.4.i- إعادة ترتيب عناصر اللائحة بشكل تصاعدي أو تنازلي بواسطة (الميثود) ()sort.
- 1.4.ii- انشاء نسخة عن اللائحة، وترتيبها بشكل تصاعدي أو تنازلي بواسطة (الفانكشن) ()sorted
- 1.4.iii- عكس ترتيب عناصر اللائحة بواسطة (الميثود) ()reverse.
- 1.4.iv- معايير تتعلق بالترتيب
- 2- أمر التكرار for (for loop فور لوپ)
- 3- (الفانكشن) ()range و (الفانكشن) ()list
- 4- دينامية اللوائح في (بايثون)
- 5- (فانكشن) الإحصاء ()len و ()min و ()max و ()sum
- هل تعلم عن (واتساب)؟
- 6- تقسيم اللائحة إلى أجزاء/(Slice سلايس)
- 6.1- (كود السلايس)
- 6.2- نسخ اللوائح باستخدام (كود السلايس)، أو (الميثود) .copy()
- 7- تعريف اللوائح بالأسلوب الفهمي(List Comprehension لِيسْت كومپريهنشن)
- تمرين الفصل الثالث
- 1- مقدمة إلى اللوائح
-
BONUSتقدمة للقراء الكرام
- تثبيت وفتح (جوبيتر)
- تحميل وفتح ملف الكتاب التفاعلي في (جوبيتر)
-
الفصل -4-(if) الشرطية
- هل تعلم عن الموظف الثعلب 'أ.ب.'؟
- 1- (== if) إذا كان يساوي، و (=! if) إذا كان يختلف
- 1.1- تجاهل حالة الحروف في الشرط
- 2- (if in) إذا كان في، و (if not in) إذا لم يكن في
- 3- (< if) إذا كان أكبر من، و (> if) إذا كان أصغر من
- 4- صياغة الشرط المركّب باستخدام (الكيوورد) and و (الكيوورد) or
- 5- السلسلة if-elif-elif…-else
- 5.1- السلسلة if-else
- 5.2- السلسلة if-elif-else
- تمرين الفصل الرابع
- هل تعلم عن غرامات المفوضية الأيرلندية على 'ميتا'التي تجاوزت 900 مليون يورو؟
-
الفصل -5-القاموس و (التپل) و (الست)
- 1- (التپل Tuple)
- 2- القاموس (Dictionary دكشنري)
- 2.1- (كود ڤاليو) القاموس
- 2.2- تعديل القاموس
- 2.2.i- إضافة الأزواج إلى القاموس بواسطة (كود الڤاليو)
- 2.2.ii- حذف الأزواج من القاموس بواسطة (الكيوورد) del
- 2.2.iii- تعديل (ڤاليو) محدد من القاموس بواسطة (كود الڤاليو)
- 2.3- (الميثود) ()keys. و ()values. و ()items.
- 2.4- تنفيذ (اللوپ) for على القاموس
- 2.4.i- تنفيذ (اللوپ) for على مفاتيح القاموس
- 2.4.ii- تنفيذ (اللوپ) for على مجموعة (ڤاليو) القاموس
- 2.4.iii- تنفيذ (اللوپ) for على أزواج القاموس
- 3- (الست Set)
- 3.1- (الفانكشن) ()tuple و ()set (الميثود) ()add. و ()update.
- تمرين الفصل الخامس
-
الفصل -6-أمر التكرار المشروط while loop
- 1- (الفانكشن) ()input
- 1.1- التعامل مع مُدخلات (الفانكشن) ()input الرقمية
- 2- أمر التكرار المشروط while
- 2.1- إيقاف (اللوپ) while
- 2.1.i- إيقاف (اللوپ) while بواسطة استثناء (=!)
- 2.1.ii- إيقاف (اللوپ) while بواسطة مرجع (Flag فلاچ)
- 2.1.iii- إيقاف (اللوپ) while بواسطة (الكيوورد) break
- 2.2- تخطي جولة تكرار معيّنة بواسطة (الكيوورد) continue
- 2.3- نماذج عملية لاستخدام (اللوپ) while
- 2.3.i- استخدام (اللوپ) while لنقل العناصر من حاوية بيانات إلى أخرى
- 2.3.ii - استخدام (اللوپ) while لحذف عناصر متكررة من اللائحة
- 2.1- إيقاف (اللوپ) while
- تمرين الفصل السادس
- 1- (الفانكشن) ()input
-
الفصل -7-(الفانكشن)
- 1- (كود) تعريف (الفانكشن)
- 1.1- تعريف (فانكشن) تستقبل (أرچومنت)
- 1.2- تعريف (فانكشن) تستقبل أكثر من (أرچومنت) واحد
- 1.3- تحديد قيمة أساسية (للپرميتر)
- 1.4- (الكيوورد) return
- 1.5- إدراج (اللوپ) في وظيفة (الفانكشن)
- 1.6- تعريف (فانكشن) تستقبل عدداً مفتوحاً من (الأرچومنت) args*
- 1.7- تعريف (فانكشن) تستقبل عدداً مفتوحاً من أزواج (الكيوورد أرچومنت) kwargs**
- تمرين الفصل السابع
- 1- (كود) تعريف (الفانكشن)
-
الفصل -8-(الكلاس Class)
- 1- (كود) تعريف (الكلاس)
- 1.1- (كود الأتربيوت) وبعض طرق تعديله
- 1.1.i- تعديل (الأتربيوت) مباشرةً بواسطة (الكود)
- 1.1.ii- تعديل (الأتربيوت) بواسطة (الميثود)
- 1.2- تحديد قيمة أساسية (للأتربيوت)
- 1.3- تعريف (كلاس) فرعي انطلاقًا من (كلاس) أساسي آخر
- 1.1- (كود الأتربيوت) وبعض طرق تعديله
- تمرين الفصل الثامن
- 1- (كود) تعريف (الكلاس)
-
الفصل -9- والأخير من الجزء الأولإدارة الملفات، والاستيراد
- 1- إدارة الملفات في (پايتشارم)
- 2- الاستيراد (إمپورت import)
- 2.1- استيراد (الموديول)
- 2.2- استيراد عنصر واحد، أو مجموعة عناصر من (الموديول)
- 2.2.i- استيراد العنصر باسم مستعار
- 3- إدارة الملفات في (پايثون)
- 3.1- فتح الملف عبر (الموديول)
- 3.1.i- فتح الملف عبر (الموديول) open()، لقراءة محتواه .read()
- 3.1.ii - قراءة أسطر الملف سطراً بسطر .readlines()
- 3.2- تعديل الملف عبر (الموديول)
- 3.2.i- فتح الملف بنَسق الكتابة open("name", "w") لمسح محتواه وإضافة محتوى جديد إليه .write()
- 3.2.ii- فتح الملف بنَسق الإضافة open("name", "a") لإضافة محتوى جديد إليه .write() دون مسح محتواه السابق
- 3.3- فتح الملفات المخزنة خارج مجلد (الموديول)
- 3.1- فتح الملف عبر (الموديول)
- 4- ()float و ()count. و ()split. و ()replace. و %
- تمرين الفصل التاسع
- الختام
اقرأ مقدمة الكتاب
عصر التكنولوجيا والذكاء الاصطناعي
نشهد منذ مطلع القرن الحادي والعشرين فورةً رقمية هائلة، تجلت بحقبة تكنولوجية جديدة، مكملة للثورة الرقمية التي بدأت في أواسط القرن الماضي مع الظهور الأول للحاسوب، وتتمثل هذه الحقبة الجديدة بتطبيقات إلكترونية ذكية متقدمة، تغزو حياتنا وتتمدد في جوانبها وتتجذر، بالتوازي مع تطور نوعي في مجال الأجهزة المحمولة الذكية التي أصبحت متاحة للجميع، فانتشرت بين شعوب الأرض كانتشار النار في الهشيم.
لقد تركت هذه الحقبة التكنولوجية الجديدة -حقبة الأجهزة والتطبيقات الذكية- أثرا عميقا بالغاً في نمط حياتنا المعاصر، وكانت سبباً في تسهيلها على صعد شتى... فمن منا مثلاً لا يستخدم تطبيق WhatsApp (واتساب) بل ويعتمد عليه في كثير من مهامه اليومية؟ أكان للدردشة مع العائلة والأصدقاء، أم للعمل والتواصل مع الزبائن... وينسحب هذا السؤال أيضاً على تطبيقات كثيرة أخرى تغلغلت في حياتنا وأخذت حيزاً كبيراً منها، من تطبيق Google (چوچل) وسهولة الوصول إلى المعلومة، إلى Facebook (فيسبوك) و Twitter (تويتر) وثورة التواصل الاجتماعي، إلى ChatGPT و ChatSonic وفورة الذكاء الاصطناعي... وغيرها من التطبيقات التي تعاظم دورها وتأثيرها، فأصبحت كحاجة يومية ماسة وأسلوب حياة يصعب التخلي عنه...
أهمية البرمجة
إن في الأثر العميق الذي تركته هذه الحقبة في جوانب حياتنا، لدلالة على الأهمية البالغة للعلوم التي أتيحت لنا عبرها هذه التكنولوجيا العظيمة، ألا وهي علوم الحوسبة، والتي سنتناول في كتابنا هذا فرعاً أساسياً -ممتعاً- منها، وهو علم البرمجة. ولدلالة أخرى أكثر شمولاً على أهمية البرمجة، ودورها المحوري في هذا العصر، دعونا نضرب هذا المثال لنتوقع ما يمكن حدوثه في حال تعطلت -ولسبب ما- جميع الأنظمة البرمجية في إحدى الدول:
إن حدوث سيناريو قاتم كهذا، سيؤدي غالباً إلى: تعطل الدوائر الحكومية وعدم قدرة المواطنين على انجاز المعاملات، وتعطل خدمة الإنترنت، والاتصالات اللاسلكية، وعمل المصارف، والمصانع، والشركات، والطائرات، والقطارات السريعة إلخ... إنه باختصار سيناريو كارثي يشبه شلل مظاهر الحياة... ففي زمن التكنولوجيا الرقمية الذي نعيش، باتت معظم الأعمال تعتمد اعتماداً أساسياً مفصلياً على التقنية الحاسوبية والبرمجة، وبالتالي، فقد أصبحت البرمجة حاجة حيوية أساسية من احتياجات هذا العصر.
الطلب المتزايد على البرمجة
ولقد أدت هذه الأهمية الكبيرة التي اضطلعت بها البرمجة إلى تزايد الطلب عليها بشكل هائل، وأصبحت الوظائف المتعلقة بها في مقدمة الوظائف المطلوبة في سوق العمل، فبات تعلم هذه المهارة بمثابة فرصة ذهبية للحصول على فرص العمل، وليس على أية فرص عمل، بل على فرص مميزة بأجر وافر، سواء أكانت وظائف ثابتة في شركات، أم أعمالا حرة Freelance يمكن ممارستها من المنزل...
فإذا كنتم ممن يتطلعون لاستغلال هذه الفرصة الكبيرة، لتضاعفوا دخلكم بتعلم مهارة ممتعة غير شاقة، وتتساءلون من أين وكيف تبدأون، فهذا الكتاب وسيلتكم لتحقيق ذلك، عبر تعلم لغة Python (پايثون) البرمجية الرائعة.
ما هي لغة Python؟
فما هي لغة Python (پايثون)؟ ولماذا وقع عليها اختياري في هذا الكتاب كمدخل إلى عالم البرمجة؟
(پايثون) هي لغة برمجة واسعة الشهرة، تم تطويرها على يد المبرمج الهولندي العبقري Guido Van Rossum، الذي أطلق عليها هذا الاسم (پايثون) نسبة إلى المسلسل الكوميدي الشهير "Monty Python's Flying Circus". صدرت النسخة الأولى من هذه اللغة في العام 1991، ونمت بشكل كبير لتصبح واحدة من أشهر اللغات البرمجية في العالم، وأكثرها استخداماً.
لماذا Python؟
مع وجود مئات اللغات البرمجية المتاحة، لعل السؤال الأول الذي يراود من يقرر تعلم البرمجة هو: "أي لغة برمجة اختار؟"، فجوابي أنا له هو: "أن يختار لغة Python (پايثون) دون تردد"، وذلك لأسباب عديدة أذكر منها:
- سهولة التعلم المقترنة بقوة الأداء: تتميز لغة Python (پايثون) بكونها لغة سلسة سهلة التعلم ومثالية للمبتدئين، بالإضافة إلى كونها لغة قوية جداً ذات كفاءة عالية يمكن استخدامها في المجالات المعقدة والمتقدمة، فهي تستخدم مثلاً في الأبحاث المتقدمة في وكالة الفضاء الأمريكية NASA.
- الطلب الكبير والمردود الوافر: تعتبر (پايثون) من أكثر لغات البرمجة طلباً وشيوعاً، فهي تستخدم في شركات عالمية كبرى نذكر منها: Google, Facebook, Instagram, YouTube, Amazon, Uber... اضف إلى ذلك أنها واحدة من أعلى لغات البرمجة أجراً، فعلى سبيل المثال لا الحصر وبحسب موقع Glassdoor: يتراوح متوسط الراتب السنوي لمبرمج بايثون في الولايات المتحدة الأمريكية من 80,000 إلى 120,000 دولار.
- التوافق مع أنظمة التشغيل المختلفة وتعدد مجالات الاستخدام: تتميز لغة (پايثون) بتوافقها مع معظم أنظمة التشغيل المعروفة مثل: iOS / Android / Linux / macOS / Windows وغيرها... كما تتميز هذه اللغة القوية أيضاً بتعدد مجالات استخدامها: من الأتمتة، إلى علوم الاحصاء والبيانات، إلى الذكاء الاصطناعي، إلى تطوير تطبيقات الويب، وتطوير الألعاب إلخ... بالإضافة إلى الكثير من الأسباب الأخرى التي تجعل خيارنا يقع على هذه اللغة البرمجية الرائعة.
عن هذا الكتاب
فأضع بين أيديكم هذا الكتاب الشامل لمعظم أساسيات لغة Python (پايثون)، والذي قمت بصياغته على نحو بسيط سلس يفهمه الكبير والصغير، وصففته بأسلوب شبه تفاعلي مرفقاً نماذج الشيفرة مع عرضٍ لنتائج تشغيلها، ورفدته بشروحات مفصلة وافرة -تشبه ملاحظات الطالب-، ليتمكن القارئ من تعلمه بمفرده، دون الحاجة إلى متابعة الدروس الإضافية والدورات التدريبية. وقد سلسلت عناوينه بتدرج منهجي مرن فجعلته على جزأين:
- جزء أول يتناول الأساسيات: قمت بتوزيعه على تسعة فصول أساسية، وأرفقتها بالتمارين التدريبية.
- وجزء تطبيقي ثان من أربعة مخططات:
- مخطط إنشاء لعبة إلكترونية من الصفر تحتوي على العديد من المزايا.
- مخطط إنشاء رسم بياني تفاعلي لتحليل أسعار العملات يستقبل البيانات عبر API.
- مخطط إنشاء برنامج أتمتة يفتح موقعاً الكترونياً محدداً ويقوم بتنفيذ مهام معينة أوتوماتيكياً.
- مخطط إنشاء تطبيق ويب ينشئ النصوص ويرسم الصور بواسطة الذكاء الاصطناعي عبر API.
- مخطط إنشاء لعبة إلكترونية من الصفر تحتوي على العديد من المزايا.
وقد ختمت هذا الكتاب الشامل لمعظم أساسيات (پايثون) بفهرس مفصل يمكن اعتماده كقاموس لهذه اللغة السهلة القوية الرائعة.
الإهداء
ولما جرت العادة أن تختم المقدمات بالإهداءات، فإهدائي إلى أسرتي الصغيرة العطوفة التي أنجزت هذا العمل في دفء كنفها، إلى خالتَي أمل وسحر، وخالي الدكتور أنس الخطيب المشرف على التدقيق اللغوي لهذا الكتاب، وعمي العميد الدكتور هاني الخطيب، وعمي الدكتور محمد الخطيب، وعماتي وعموم أسرتي فرداً فرداً، والصديق البروفيسور خالد حنقير الذي شجعني على اتمام هذا العمل، وومعالي الوزير المفوض في وزارة الخارجية السعودية سعادة سفير المملكة العربية السعودية لدى لبنان الصديق وليد البخاري.
كما أخص بهذا الإهداء شخصية عربية فذة من قادة الأمم، قائد من أولئك الذين ربما لا يتكررون سوى كل مائة عام، جمع بين القيادة الصائبة والرؤية الثاقبة والإبداع. دعم البحث العلمي برؤيته فأصبح في المرتبة الأولى إقليمياً وفي أولى المراتب عالمياً وأثار حماستي لإتمام هذا الكتاب. أهدي الكتاب إلى صاحب السمو الملكي ولي العهد السعودي رئيس مجلس الوزراء الأمير محمد بن سلمان بن عبد العزيز آل سعود حفظه الله.
وأخص تلك التي أعجز عن وصف صفاتها، ملجئي في الشدائد والرخاء، وفي الكدر والمسرات، أمي الحنون سمر الخطيب.
أحمد الخطيب
اقرأ الفصل الأول
جولة استكشافية في Python
• تنبيه: لتعلم هذا الكتاب وفهم مسائله بفاعلية أكبر، جهزوا Pycharm أو ما شابهه من البرامج، لتتمرنوا على كتابة كل ما سيرد من نماذج (الكود) وتختبروا تشغيلها بأنفسكم.
1- (الفانكشن Function) ()print
أشرنا في مقدمة هذا الكتاب إلى تميّز لغة (پايثون) بسهولتها، حيث يمكننا في (پايثون) طباعة -أي إظهار- محتوى معين على الشاشة، كنص أو رقم أو رمز، بمجرد استخدام واحدٍ من الأوامر التي تعرف باسم functions (فانكشن)، وهو الأمر ()print الذي نُدخل بين هلاليه المحتوى المراد طباعته على الشاشة.
مثال بسيط على ذلك: إذا قمنا بإدخال (الكود) التالي في المكان المخصص لإدخال (الكود) في برنامج IDE مثل Pycharm أو غيره:
print("I wrote my first code!")
فإذا قمنا بعد ذلك بتشغيل هذا (الكود) بواسطة الزر الذي أشرنا إليه سابقاً في أعلى واجهة (پايتشارم)، فإن ذلك يؤدي إلى طباعة المحتوى الذي أُدخل بين هلالي الأمر ()print على الشاشة، بحيث تظهر لنا النتيجة:
I wrote my first code!
ومعنى هذا (الكود): هو أننا نأمر Python بطباعة محتوى محدد على الشاشة بواسطة الأمر ()print، وهو المحتوى الذي قمنا بإدخاله بين هلالي هذا الأمر، والذي قمنا بوضعه بين مزدوجين "" لكي نشير إلى (پايثون) بأنه محتوى نصي، إذ يتم تمييز النصوص في (پايثون) عبر وضعها بين مزدوجين، وهي تعرف -أي النصوص- باسم string (سترينچ).
- ملاحظة 1: يمكننا أيضاً استخدام الفاصلتين العلويتين ' ' بدلاً من المزدوجين لتعريف المحتوى النصي في (پايثون)، ويصبح هذا الاستخدام إجبارياً في بعض الحالات لتلافي حصول الخلل/error.
وفيما يلي بعض الأمثلة على ذلك:
- مثال 1: يؤدي استخدام الفاصلتين العلويتين في (الكود) التالي:
دور المزدوجين نفسه، فهو يؤدي إلى تعريف (السترينچ) الذي أدخل بينهما، أي إلى تعريف (پايتون) بأن المحتوى الذي أدخل بين هاتين الفاصلتين العلويتين هو عبارة عن محتوى نصي.Print('I started programming!')
ويؤدي تشغيل هذا (الكود) إلى طباعة النتيجة التالية على الشاشة:
I started programming!
- مثال 2: أما في حال كان المحتوى النصي المراد استخدامه يحتوي في صياغته أصلاً على رمز المزدوجين كالجملة التالية:
He says: "Hello mom!"
فيصبح من الإجباري في هذه الحالة استخدام الفاصلة العليا بدلاً من المزدوجين لتعريف هذا (السترينچ)، لتلافي حدوث الخلل/error كما يظهر في المثال المرفق في الصورة أدناه:
- مثال : وكذلك هو الأمر في حال كان المحتوى النصي المراد استخدامه يحتوي في صياغته أصلاً على رمز الفاصلة العليا، فلا نستخدم في هذه الحالة الفاصلة العليا لتعريف (السترينچ)، وإنما نستخدم المزدوجين لتلافي حدوث الخلل/error كما يظهر في المثال المرفق في الصورة أدناه:
2- (الڤاريابل Variable) و (الڤاليو Value)
تخزين المعلومات في البرامج لاستخدامها لأغراض مختلفة... هو من أهم أساسيات البرمجة.
ويمكننا في (پايثون) تخزين معلومات معينة في أسماء محددة، لكي نتمكن متى أردنا من الولوج إلى واحدة من هذه المعلومات عبر الاسم الذي خزنت فيه.
تعرف المعلومة المخزِّنة تقنياً باسم (value ڤاليو)، ويعرف الاسم الذي تخزن فيه المعلومة باسم (variable ڤاريابل)، وفيما يلي مثال على ذلك:
country_name = "Egypt"
قمنا في سطر (الكود) أعلاه بتخزين المعلومة/(الڤاليو) "Egypt" في الاسم/(الڤاريابل) country_name، فلو قمنا بعد ذلك بطباعة هذا (الڤاريابل) بواسطة (الفانكشن) ()print كما في سطر (الكود) التالي:
print(country_name)
فإن ذلك يؤدي إلى طباعة (الڤاليو) المخزن في (الڤاريابل) country_name، وليس إلى طباعة هذا (الڤاريابل) نفسه، ونتيجة تشغيل هذا (الكود) هي: Egypt.
- ملاحظة 2.1: أما في حال قمنا بطباعة الاسم "country_name" مع وضعه بين مزدوجين كما في سطر (الكود) التالي، فإن ذلك يؤدي إلى تعرف (پايثون) عليه على أنه نص/(سترينچ)، لا على أنه (ڤاريابل)، ويؤدي تشغيل هذا (الكود) بالتالي إلى طباعة هذا الاسم نفسه:
print("country_name")
→ country_name
- ملاحظة 2.2: وإذا كان اسم (الڤاريابل) مركباً من كلمتين أو أكثر، فلا نفصل بين كلماته بفراغ كأن نكتب
country name
وإنما نفصل بينها باستخدام شرطةٍ تحت السطر (_) فنكتبcountry_name
، لأن استخدام الفراغ في هذه الحالة يؤدي إلى حصول الخلل/error:
واضافة إلى ما سبق ذكره عن ضوابط كتابة اسم (الڤاريابل)، فيمكننا أيضاً استخدام الأرقام في هذا الاسم كأن نكتب مثلاًcountry name = "KSA" → error
country1_name_1
، شرط أن لا نبدأ اسم (الڤاريابل) برقم، لأن ذلك يؤدي إلى حصول الخلل/error:1country_name = "KSA" → error
- ملاحظة 2.3: وفي حال تم تكرار استخدام اسم (الڤاريابل) نفسه في عدة أسطر (كود) لتخزين معلومات مختلفة، فإن طباعة محتوى هذا (الڤاريابل) في هذه الحالة، تؤدي إلى طباعة محتوى آخر (ڤاريابل) تم إعطاؤه هذا الاسم، وفيما يلي مثال على ذلك:
1. name = 'Fahed' 2. name = 'Hessa' 3. print(name)
في السطر1 من (كود) المثال أعلاه: خزّنا (الڤاليو) 'Fahed' في (الڤاريابل) name
ثم في السطر2: خزّنا (الڤاليو) 'Hessa' في (ڤاريابل) يحمل أيضاً الاسم name
وعليه، فقد أدت طباعة محتوى (الڤاريابل) name بواسطة (الفانكشن) ()print في السطر3 إلى طباعة محتوى آخر (ڤاريابل) تم إعطاؤه هذا الاسم قبل أمر الطباعة، وجاءت نتيجة تشغيل هذا (الكود):
Hessa
- مراجعة سريعة: إلى هنا نكون قد تعلمنا كيفية تعريف النصوص String/(سترينچ) في (پايثون) عبر وضعها بين مزدوجين أو فاصلتين علويتين، وتعلمنا كيفية طباعة أو اظهار النصوص على الشاشة بواسطة (الفانكشن) ()print، كما تعلمنا كيفية تخزين المعلومة/(الڤاليو) في الاسم/(الڤاريابل).
3- (الميثود Method) ()title. و ()lower. و ()upper.
وفي (پايثون) مجموعة أخرى من الأوامر التي تعرف باسم Methods (ميثود)، ولا نطلب منكم التدقيق بهذه التسميات الآن، (كالميثود) و (الفانكشن)... إذ سنتطرق إليها لاحقاً وبشكل مفصل.
كما أننا من الآن وصاعداً، ولاختصار الكلام، سنشير إلى نتائج تشغيل (الكود) عبر تمييزها باللون الأزرق:
1. drink = "water"
2. print(drink)
water
3. print(drink.upper())
WATER
في السطر1 من (كود) المثال أعلاه: خزّنا (الڤاليو) 'water' في (الڤاريابل) drink، ثم طبعنا محتوى هذا (الڤاريابل) بواسطة (الفانكشن) ()print في السطر2، ثم قمنا بتشغيل هذا (الكود)، فأدى ذلك كما يظهر في النتيجة أعلاه -وكالمتوقع- إلى طباعة (الڤاليو) المخزن في هذا (الڤاريابل) على حالته الأصلية.
أما في السطر3: فقد أدت طباعة محتوى (الڤاريابل) drink بواسطة (الفانكشن) ()print مع اضافة (الميثود) ()upper. إليه، والتي تؤدي إلى تحويل أحرف (السترينچ) إلى أحرف كبيرة، إلى طباعة محتوى هذا (الڤاريابل) على شكل أحرف كبيرة WATER.
وهذه الأوامر الواضحة المعنى هي من مميزات لغة (پايثون)، فكلمة upper تعني بالعربية (أعلى)، وكلمة print تعني بالعربية (اطبع)، ما من شأنه أن يسهل على المبرمج تذكر وظائف أوامر (پايثون) بحسب معانيها.
وعلى عكس ما ورد في المثال السابق، فيمكننا في (پايثون) تحويل أحرف النصوص/(السترينچ) إلى أحرف صغيرة، عبر استخدام (الميثود) ()lower. -وكلمة lower تعني بالعربية (أدنى)-.
كما لا يشترط استخدام هذه الأوامر بين هلالي (الفانكشن) ()print كما فعلنا في المثال السابق، بل يمكننا استخدامها في مواضع مختلفة كما سنفعل في المثال التالي:
1. name_1 = "MOHAMMED"
2. name_2 = name_1.lower()
3. print(name_2)
mohammed
في السطر1 من (كود) المثال أعلاه: خزّنا (الڤاليو) 'MOHAMMED' والذي قمنا بكتابته بأحرفٍ كبيرة في (الڤاريابل) name_1
ثم في السطر2: استخدمنا (الميثود) ()lower. لتحويل أحرف (السترينچ) المخزن في (الڤاريابل) name_1 إلى أحرف صغيرة، وقمنا بتخزين نتيجة ذلك في (الڤاريابل) name_2
ثم في السطر3: طبعنا محتوى (الڤاريابل) name_2 بواسطة (الفانكشن) ()print، وكما يمكننا أن نرى من نتيجة تشغيل هذا (الكود)، فقد أدى استخدام (الميثود) ()lower. إلى تحويل أحرف (السترينچ) 'MOHAMMED' إلى أحرف صغيرة mohammed.
وثمة شكلٌ آخرٌ معتمدٌ في كتابة أسماء العلم وعناوين الكتب وغيرها... يتمثل ببدء الكلمات بأحرف كبيرة، وكتابة سائر أحرفها بأحرف صغيرة، كأن نكتب: Ahmad Al Khatib.
ويمكننا في (پايثون) تحويل النصوص إلى هذا الشكل عبر استخدام (الميثود) ()title. -وكلمة title تعني بالعربية (عنوان)-.
مثال على ذلك:
1. participants = "jOUjoU samiR, SAlma ZahrAni, TaRek BeiRuti"
2. print(participants.title())
Joujou Samir, Salma Zahrani, Tarek Beiruti
يمكننا أن نرى من نتيجة تشغيل (الكود) أعلاه أن استخدام (الميثود) ()title. في السطر2 قد أدى إلى تحويل النص المخزن في (الڤاريابل) participants إلى الصيغة الشكلية المطلوبة.
• تذكير: في حال واجهتم المشاكل كمبتدئين في الانطلاق بتعلم هذا الكتاب، فأذكركم بالتواصل معي على مواقع التواصل الاجتماعي عبر حساباتي المرفقة في أسفل الصفحة لاستقبال أسئلتكم:
تمرين الفصل الأول
تمريننا لهذا الفصل التمهيدي بسيط جداً، فحاولوا إطلاق عنان مخيلتكم لكتابة (كود) لا يقل عن عشرة أسطر (ربما تقومون بصياغته بحيث يؤدي تشغيله مثلاً إلى طباعة أسمائكم وأسماء أشخاص من عائلتكم أو أصدقائكم بأشكال أحرفٍ مختلفة)، واستخدموا فيه الأوامر والرموز التالية:
= " " ' ' print() ()lower. ()upper. ()title.
ماذا لو تمكنت من تعلم البرمجة بلغة بايثون والبدء بانشاء برامجك الخاصة في أقل من أسبوع؟
في هذا الكتاب العملي، يصحبك المؤلف في رحلة ممتعة لإتقان لغة بايثون من الصفر، عبر شروحات مبسطة وتمارين تطبيقية وأمثلة واقعية. لتعلم أساسيات البرمجة، وكيفية إنشاء البرامج المتنوعة كالألعاب الإلكترونية، و برامج تحليل البيانات، وأتمتة المهام، وبناء تطبيقات ويب توظف الذكاء الاصطناعي. سواء أكنت مبتدئاً تماماً أو مبرمجاً يسعى لتوسيع مهاراته، فهذا الكتاب هو دليلك الشامل لاحتراف بايثون، وفتح أبواب الدخل وفرص العمل المميزة في عالم التكنولوجيا.
ماذا يقدم لك كتاب "تعلم بايثون بأقل من أسبوع" لتطوير ذاتك ومهاراتك؟
- بناء أساس متين للمستقبل: هذا الكتاب ليس مجرد تعلم لغة واحدة، بل هو استثمار في نفسك. لتكتسب المهارات الأساسية في علوم الحاسوب التي تؤهلك للتخصص في أي مجال برمجي آخر لاحقاً.
- تعلم التفكير كالمحترفين: تطوير مهارات التفكير المنطقي وحل المشكلات، وهي من أساسيات جوهر المبرمج الناجح.
- بناء برامج وتطبيقات عملية وواقعية: يزودك الكتاب بإطار عمل تطبيقي لتتعلم كيفية انشاء برامجك وتطبيقاتك الخاصة من الصفر، لتسهيل حياتك ومهامك ورفع انتاجيتك.
- تطبيقات متقدمة ومربحة: يؤهلك هذا الكتاب ويعدك لتكتشف كيفية استخدام بايثون في مجالات الذكاء الاصطناعي، تحليل البيانات، وأتمتة المهام، مما يضاعف من فرصك الوظيفية.
هل أنت مستعد لدعم سيرتك الذاتية والمهنية بتعلم بايثون في أقل من أسبوع؟
لا تفوت فرصة إتقان لغة البرمجة بايثون بسهولة بالغة عبر هذا الكتاب، حمله الآن لتعلم لغة البرمجة الأكثر طلباً في سوق العمل، لمضاعفة دخلك والارتقاء بوظيفتك.
احصل على نسختك الآن