كتاب تعليم البرمجة بلغة البايثون
---------------------------------------------
---------------------------------------------
تعلم البرمجة وكتابة البرامج وتنقيحها بلغة بايثون
تأليف
ليزا تاغليفيري
ترجمة
محمد بغات
عبد اللطيف ايمش
تحرير
جميل بيلوني
تصميم الغالف
فرج الشامي
---------------------------------------------
صور من داخل الكتاب:
---------------------------------------------
فيديو عن محتويات الكتاب:
---------------------------------------------
جدول المحتويات
تقديم..............................................15
1 .كيفية استخدام هذا الكتاب..................................17
2 .ماذا بعد هذا الكتاب...........................................18
مدخل تعريفي إلى لغة بايثون...............20
1 .تاريخ بايثون....................................................22
2 .مميزات لغة بايثون............................................22
ين ت َ ستخدم بايثون؟.........................................23
4 .لماذا بايثون وليس غيرها؟...................................24
5 .خالصة الفصل..................................................27
تثبيت بايثون وإعداد بيئة العمل..............28
30...........................................................ويندوز. 1
41.............................................................أوبنتو. 2
47.............................................................دبيان. 3
54..........................................................CentOS .4
60...........................................................macOS .5
سطر أوامر بايثون التفاعلي...................70
1 .فتح سطر األوامر التفاعلي...................................71
2 .العمل في سطر أوامر بايثون التفاعلي.....................73
3 ُّ .تعدد األسطر....................................................74
4 .استيراد الوحدات..............................................75
5 .الخروج من سطر أوامر بايثون التفاعلي..................77
6 .االطالع على التاريخ..........................................78
7 .خالصة الفصل..................................................79
التعليقات واستخداماتها......................80
1 .صياغة التعليقات...............................................81
2 .التعليقات الكتلية...............................................83
3 .التعليقات السطرية............................................84
4 .تعليق جزء من الشيفرة بدواعي االختبار والتنقيح.....85
5 .خالصة الفصل..................................................87
المتغيرات واستخداماتها.......................88
1 .فهم المتغيرات..................................................89
2 .قواعد تسمية المتغيرات......................................93
3 .تغيير قيم المتغيرات..........................................95
96..................)Multiple Assignment( . المتعدد اإلسناد 4
5 .المتغيرات العامة والمحلية...................................97
6 .خالصة الفصل................................................102
أنواع البيانات والتحويل بينها................103
1 .خلفية عامة....................................................104
105..........................................................األعداد. 2
3 .القيم المنطقية................................................107
4 .السالسل النصية..............................................109
110................................................)Lists( . القوائم 5
111...........................................)Tuples( . الصفوف 6
112..................................)Dictionaries( . القواميس 7
8 .التحويل بين أنواع البيانات................................113
9 .خالصة الفصل................................................125
السالسل النصية والتعامل معها...........127
1 .إنشاء وطباعة السالسل النصية...........................128
2 .آلية فهرسة السالسل النصية...............................129
3 .تقسيم السالسل النصية.....................................131
4 .جمع السالسل النصية........................................135
5 .تكرار السالسل النصية......................................136
6 .تخزين السالسل النصية في متغيرات...................136
7 .دوال السالسل النصية.......................................137
8 .دوال اإلحصاء................................................143
9 .خالصة الفصل................................................146
مدخل إلى تنسيق النصوص.................147
1 .الصياغة المختزلة............................................148
2 .عالمات االقتباس.............................................148
3 .كتابة النص على أكثر من سطر............................149
4 .تهريب المحارف..............................................150
5 .السالسل النصية الخام......................................152
6 .استخدام الم ِّنسقات..........................................153
7 .تحديد نوع القيمة............................................161
8 .إضافة حواشي................................................163
9 .استخدام المتغيرات..........................................165
10 .خالصة الفصل...............................................166
العمليات الحسابية.............................167
168........................................................العامالت. 1
2 .الجمع والطرح.................................................170
3 .العمليات الحسابية األحادية................................171
4 .الضرب والقسمة..............................................172
5 عامل باقي القسمة . )Modulo.............................)174
174................................................)Power( . القوة 6
7 .أسبقية العمليات الحسابية.................................175
176................)Assignment Operators( . اإلسناد عامل 8
9 .إجراء العمليات الرياضية عبر الدوال.....................178
10 .خالصة الفصل...............................................186
العمليات المنطقية البوليانية ) (.............187
1 .عامل الموازنة.................................................188
2 .العامالت المنطقية............................................191
194..........................)Truth Tables( . الحقيقة جداول 3
4 .استعمال المنطق للتحكم في مسار البرنامج............196
5 .خالصة الفصل................................................197
النوع List :مدخل إلى القوائم...............198
200..........................)Indexing Lists( . القوائم فهرسة 1
2 .تعديل عناصر القائمة........................................202
202..............................)Slicing Lists( القوائم تقطيع. 3
4 .تعديل القوائم بالعوامل.....................................205
5 .إزالة عنصر من قائمة........................................207
6 .بناء قوائم من قوائم أخرى موجودة.....................208
7 .استخدام توابع القوائم......................................209
217............List Comprehensions استعمال كيفية فهم. 8
9 .خالصة الفصل................................................223
النوع Tuple :فهم الصفوف..................225
1 .فهرسة الصفوف..............................................227
2 .تقطيع قيم صف..............................................229
3 .إضافة بنى صف إلى بعضها................................231
4 .دوال التعامل مع الصفوف..................................233
5 .كيف تختلف بنى الصفوف عن القوائم...................235
6 .خالصة الفصل................................................236
النوع Dictionary :فهم القواميس..........237
1 .الوصول إلى عناصر قاموس...............................239
2 .تعديل القواميس.............................................243
3 .حذف عناصر من القاموس.................................247
4 .خالصة الفصل................................................249
التعليمات الشرطية............................250
251......................................................if التعليمة. 1
253..................................................else التعليمة. 2
254................................................else if التعليمة. 3
257.........................................المتشعبة if تعليمات. 4
5 .خالصة الفصل................................................262
: المهام التكرارية مدخل إلى الحلقات.....263
264...........................................while التكرار حلقة. 1
272..............................................for التكرار حلقة. 2
3 .التحكم بحلقات التكرار......................................282
4 .خالصة الفصل................................................287
: الدوال تعريفها واستعمالها...............288
1 .تعريف دالة....................................................289
2 المعامال . :ت تمرير بيانات للدوال...........................291
3 .الوسائط المسمَّ اة.............................................293
4 .القيم االفتراضية للوسائط..................................295
5 .إعادة قيمة.....................................................296
main() استخدام. 6
دالة .............................299 ً رئيسيةً
305...............................**kwargs و* args استخدام. 7
8 .ترتيب الوسائط...............................................310
311...............................**kwargs و* args استخدام. 9
10 .خالصة الفصل...............................................313
: الوحدات استيرادها وإنشاؤها..............314
1 .تثبيت الوحدات..............................................316
2 .استيراد الوحدات.............................................317
3 َّ .استيراد عناصر محددة......................................320
4 .األسماء المستعارة في الوحدات..........................321
5 .كتابة وحدات مخصَّ صة واستيرادها......................322
6 .الوصول إلى الوحدات من مجلد آخر.....................326
7 .خالصة الفصل................................................329
بناء األصناف واستنساخ الكائنات...........330
331........................................................األصناف. 1
332........................................................الكائنات. 2
334........................................)Constructor( . الباني 3
4 .العمل مع عدة كائنات........................................337
5 .فهم متغيرات األصناف والنسخ...........................338
6 ً .العمل مع متغيرات الصنف والنسخة معا.................343
7 .خالصة الفصل................................................344
مفهوم الوراثة في البرمجة.................346
1 .ما هي الوراثة؟................................................347
2 .األصناف األساسية...........................................348
3 .األصناف الفرعية.............................................350
4 .إعادة تعريف توابع الصنف األساسي.....................353
5 .الدالة ()super وفائدتها في الوراثة.......................355
358...............)Multiple Inheritance( . تعددة ِّ الم الوراثة 6
7 .خالصة الفصل................................................360
التعددية الشكلية وتطبيقاتها.............361
1 ما هي التعددية الشكلية . )Polymorphism)؟...........362
2 .إنشاء أصناف متعددة األشكال............................363
3 .التعددية الشكلية في توابع األصناف.....................365
4 .التعددية الشكلية في الدوال...............................366
5 .خالصة الفصل................................................368
ِّ تنقيح الشيفرات استخدام منقح بايثون. .369
1 ً .تشغيل منقح بايثون تفاعليا...............................370
2 .استخدام المنقح للتنقل ضمن البرنامج..................372
3 .نقاط التوقف..................................................376
4 .دمج pdb مع البرامج........................................379
5 .تعديل تسلسل تنفيذ البرنامج.............................380
6 .جدول بأوامر pdb الشائعة.................................384
7 .الوحدة code :تنقيح الشيفرات من سطر األوامر .....385
8 .الوحدة Logging :التنقيح بالتسجيل وتتبع األحداث. 390
9 .خالصة الفصل................................................403
: إصدارات بايثون اإلصدار 3 مقابل 2........404
405........................................................2 بايثون. 1
405........................................................3 بايثون. 2
406.....................................................2.7 بايثون. 3
4 .االختالفات األساسية بين اإلصدارات....................407
5 .نقاط أخرى يجب أخذها بالحسبان.......................410
6 .ترحيل شيفرة بايثون 2 إلى بايثون 3....................411
7 .تعرف على االختالفات بين بايثون 2 و بايثون 3......413
8 .تحديث الشيفرة..............................................417
418...........)Continuous Integration( . المستمر التكامل 9
10 .خالصة الفصل...............................................419
---------------------------------------------
سطع نجم لغة البرمجة بايثون في اآلون ة األخ يرة ح تى ب دأت ت زاحم أق وى لغ ات البرمج ة
في الص دارة وذاك لمزاي ا ه ذه اللغ ة ال تي ال تنحص ر أوله ا س هولة كتاب ة وق راءة ش يفراتها ح تى
أضحت الخيار األول بين يدي المؤسسات األكاديمية والتدريبية لتدريسها للطالب الجدد الراغ بين
. في الدخول إلى مجال علوم الحاسوب والبرمجة أضف إلى ذلك أن بايثون لغةً متع َّددة األغ راض
واالس تخدامات، ل ذا فهي دومً ا الخي ار األول في ش تى مج االت عل وم الحاس وب الص اعدة مث ل
ال ذكاء الص نعي وتعلم اآلل ة وعل وم البيان ات وغيره ا، كم ا أنَّه ا مطلوب ة بش دة في س وق العم ل
وتعتمدها كبرى الشركات التقنية.
جاء هذا الكتاب المترجم عن كتاب »Python in code to How »لصاحبته ل يزا ت اغليفيري
Lisa Tagliaferri(
( ليش رح المف اهيم البرمجي ة األساس ية بلغ ة ب ايثون، ونأم ل أن يك ون إض افةً
َّ للمكتبة العربية وأن يفيد القارئ العربي في أن يك ً ون منطلق ا لل دخول إلى ع الم البرمج ة من
نافعةً
أوسع أبوابه.
هذا الكتاب مرخص بموجب رخصة المش اع اإلب داعي Commons Creative« نس ب المص َّنف -
- غير تجاري الترخيص بالمثل 0.4»
)Attribution-NonCommercial-ShareAlike 4.0 - CC BY-NC-SA 4.0(
ًّ وهو متاح الستخدامه مصدرًا تعليمي ً ا مفتوحا.
نظ رًا لكون ه مت وفرا على هيئ ة كت اب إلك تروني، فبإمكان ك اس تخدام كت » اب البرمج ة بلغ ة
ب « ً ايثون مرجع ً ا تعليمي ً ا مفتوح ا، وبالت الي يمكن اس تخدامه في أي فص ل دراس ي س واءً في
المدرسة أو الجامعة، كما يمكن توفير هذا الكتاب اإللكتروني للعامة في المكتبات.
---------------------------------------------
وفي الختام أسألكم الدُعاء ولكم مطلق الحرية بالنشر والمشاركة
"باقر علي"
ليست هناك تعليقات:
اضافة تعليق