Pro Python 3
Pro Python 3
ملخص:
مقدمة
كتاب «Pro Python 3» (المؤلفان: مارتي ألتشين وج. بيرتون براونينغ، عام 2019، 360 صفحة) — ليس مجرد مقدمة أخرى لبناء جملة Python. إنه دليل شامل لأولئك الذين يكتبون بالفعل بلغة Python بثقة ويريدون فهم كيفية عمل اللغة «تحت الغطاء». على عكس العديد من الكتب الموجهة للمبتدئين، يركز هذا الإصدار على المفاهيم المتقدمة: البرمجة الفوقية (metaprogramming)، والمزينات (decorators)، ومديري السياق (context managers)، والمكررات (iterators)، والمولدات (generators)، والعمل مع البايت كود (bytecode)، وتحسين الأداء. صدر الكتاب في عام 2019، مما يجعله مناسبًا لإصدارات Python 3.6–3.8، ومع ذلك فإن معظم التقنيات الموصوفة قابلة للتطبيق في الإصدارات الأحدث أيضًا.
عن ماذا يتحدث هذا الكتاب؟
تم بناء «Pro Python 3» كغوص متسلسل في أعماق اللغة. لا يضيع المؤلفون الوقت في شرح أنواع البيانات الأساسية أو الحلقات — حيث يُفترض أن القارئ على دراية بالأساسيات بالفعل. بدلاً من ذلك، يكشف الكتاب عن موضوعات مثل:
- Metaclasses — كيفية إنشاء metaclasses الخاصة بك والتحكم في إنشاء الفئات (classes).
- Decorators — من دوال decorator البسيطة إلى decorators الفئات و decorators المضمنة في Python.
- مديري السياق (Context Managers) — كتابة مديري السياق الخاصين بك باستخدام
__enter__و__exit__، وكذلك باستخدامcontextlib. - المكررات والمولدات (Iterators and Generators) — إنشاء تسلسلات كسولة (lazy sequences)، ومكررات لا نهائية، واستخدام
yield from. - الواصفات (Descriptors) — كيفية عمل الخصائص (properties)، والدوال (methods)، والدوال الثابتة (static methods) على مستوى بروتوكول الواصفات.
- العمل مع البايت كود (Bytecode) — مقدمة موجزة حول كيفية قيام Python بتجميع الكود، وكيف يمكن استخدام ذلك لتحسين الأداء.
- تحسين الأداء — التنميط (profiling)، واستخدام الدوال المضمنة، والتخزين المؤقت (caching)، والعمل مع الذاكرة.
- الاختبار وتصحيح الأخطاء — تقنيات متقدمة لكتابة الاختبارات، واستخدام
unittest.mock، وتصحيح الأخطاء باستخدامpdbوتسجيل الأحداث (logging).
يحتوي كل فصل على العديد من أمثلة الكود التي يمكن تجربتها فورًا في المفسر (interpreter). يشرح المؤلفون ليس فقط «كيف»، ولكن أيضًا «لماذا» — وهو أمر قيم بشكل خاص لفهم فلسفة Python.
لمن هذا الكتاب؟
الكتاب موجه لـ المطورين ذوي الخبرة الذين لديهم بالفعل مشروع واحد على الأقل بلغة Python ويريدون الارتقاء إلى مستوى جديد. سيكون مفيدًا لـ:
- المطورين الذين يرغبون في كتابة كود أكثر فعالية ونظافة.
- المهتمين بالبنية الداخلية لـ Python والذين يريدون فهم كيفية عمل تجريدات اللغة.
- المبرمجين المنتقلين من لغات أخرى (Java, C++, C#) والراغبين في إتقان Python الاصطلاحي (idiomatic Python).
- المتخصصين في الأتمتة والاختبار و DevOps الذين يرغبون في استخدام الإمكانيات المتقدمة لـ Python لإنشاء أدوات مرنة.
هام: الكتاب غير مناسب للمبتدئين — فهو يفترض إتقانًا واثقًا للأساسيات (الدوال، الفئات، الاستثناءات، العمل مع الملفات).
ماذا سيتعلم القارئ؟
بعد قراءة الكتاب، ستتمكن من:
- إنشاء metaclasses خاصة بك وفهم متى يكون ذلك ضروريًا حقًا (ومتى لا يكون).
- كتابة decorators معقدة مع وسائط (arguments) و decorators للفئات.
- استخدام مديري السياق لإدارة الموارد (الملفات، الاتصالات، الأقفال).
- بناء مكررات ومولدات فعالة توفر الذاكرة.
- فهم كيفية عمل الخصائص والدوال الثابتة ودوال الفئة على مستوى الواصفات.
- تنميط الكود والعثور على نقاط الاختناق.
- تطبيق تقنيات اختبار متقدمة، بما في ذلك الوهميات (mocks) والتركيبات (fixtures).
- استخدام البايت كود لتحسين الأداء على مستوى منخفض (على الرغم من أن هذه معلومات تعريفية إلى حد كبير).
نقاط القوة في الكتاب
- عمق الطرح.