The book begins with the very foundations of OOP and then uses practical examples to show how to correctly implement Object Oriented Programming in Python. Many examples are taken from real-world projects. The book focuses on high-level design as well as the gritty details of the Python syntax. The provided exercises inspire the reader to think about his or her own code, rather than providing solved problems. If you're new to Object Oriented Programming techniques, or if you have basic Python skills and wish to learn in depth how and when to correctly apply Object Oriented Programming in Python, this is the book for you. If you are an object-oriented programmer for other languages, you too will find this book a useful introduction to Python, as it uses terminology you are already familiar with. Python 2 programmers seeking a leg up in the new world of Python 3 will also find the book beneficial, and you need not necessarily know Python 2.
Done one of the most enjoyable book I've ever read in my life
the review will be in two languages [Arabic, English] starting with Arabic
كتاب رائع ويحب على كل مطور بايثون أن يقرأه, حقيقةً ما وجدته من تفاصيل مهمة في هذا الكتاب لم أجد لها مثيلاً ولا في أي دورة من الدورات المنتشرة على الأنترنت (الأجنبية منها والعربية)
الكتاب مؤلف من 12 فصل
الفصل الأول بدأ فيه الكاتب بالحديث عن مبادئ تصميم البرمجة الشيئية لكن ليس بالطريقة المعهودة, تحدث الكاتب عن أساسيات التصميم مثلاً الفرق بين الinheritance وال composition
الفصل الثاني كان عن طريقة تعريف ال classes مع بعض الأمثلة
لأكون صريحاً لم يكن هناك تواصل جيد بيني وبيني الكتاب في هذين الفصلين
في الفصل الثالث الكاتب تحدث عن الطرق الفعًالة لاستخدام خصائص البرمجية الشيئية متى نستعمل الوراثة متى نستعمل ال polymorphism بدءاً من الفصل الثالث بدأت المتعة
الفصل الرابع وبداية المتعة الحقيقية وفصل كامل يتحدث عن - except handling - how to build errors - how to build your own errors
الفصل الخامس هو الأفضل تحدث الكاتب عن الوقت الصحيح لاستخدام البرمجة الشيئية فليست كل المشاكل تحتاج إلى classes يمكن وضع هذا الفصل تحت عنوان دليل المطور في استخدام البرمجة الشيئية بالوقت المناسب
الفصل السادس كان مع تراكيب البيانات الأساسية في بايثون والطريقة الصحيحة لاستخدامها في حل المشكلات
الفصل السابع كان الحديث فيه عن الدوال الجاهزة في بايثون وكيف أن الدوال في بايثون ماهي إلا first level objects
الفصل الثامن والتاسع كانت عن أنماط التصميم لم أقرأ هذين الفصلين بالتفاصيل الكاملة لأن تصميم الأنماط أمر متقدم لكنني درست decorators ولم يكن الشرح واضح بالكتاب للأمانة لكن الأمثلة على هذا النمط قوية
الفصل العاشر كان عن الاستخدام الأمثل للسلاسل النصية والتعامل مع الملفات في بايثون, فصل مفيد لكن ليس بقوة الفصول السابقة
الفصل الحادي عشر كان عن اختبار البرامج والدوال عادت المتعة مع هذا الفصل الكاتب شرح ثلاث طرق للاختبار بمحتوى جيد جداً
الفصل الثاني عشر كان عن بعض مكتبات بايثون ولم أكمله لأن الأفكار قديمة بعض الشيء
على العموم الكتاب رائع وأنصح أي شخص يشعر بأن أفكار البرمجة الشيئية غير مكتملة لديه بأن يقرأه سيصحح لك المفاهيم ويجعلك ترى الأمور من منظور اّخر
يعيب الكتاب بعض الأمثلة القديمة وذلك طبيعي فاّخر نسخة من الكتاب صدرت في العام 2017 أي منذ ست سنوات وبايثون تتطور بسرعة كبيرة
تقييمي 4/5
ملاحظة أخيرة: اللغة الإنكليزية في الكتاب ليست صعبة على العكس الكتاب انكليزيته سلسلة