Basics of Python
Basics of Python
(مقدمة)
أهالً بك في عالم بايثون ،لغة البرمجة القوية والمرنة التي ُتعتبر مثالية للمبتدئين
والمحترفين على حد سواء .سواء كنت تطمح إلى تطوير تطبيقات الويب ،تحليل
البيانات ،بناء الذكاء االصطناعي ،أو حتى أتمتة المهام اليومية ،فإن بايثون هي
األداة المناسبة لك .هذا الكتاب هو دليلك المبسّط والشامل لتعلم أساسيات هذه اللغة
الشيقة ،حيث سنأخذك خطوة بخطوة من الصفر حتى تتمكن من كتابة برامجك
الخاصة بثقة.
(الفصل األول :لماذا بايثون؟)
في هذا الفصل ،سنتعرف على األسباب التي جعلت بايثون واحدة من أكثر لغات
البرمجة شعبية في العالم .سنناقش:
سهولة التعلم :تتميز بايثون ببساطة تركيبها وقراءتها ،مما يجعلها مثالية ●
للمبتدئين الذين ليس لديهم خبرة سابقة في البرمجة.
تنوع االستخداماتُ :تستخدم بايثون في مجاالت واسعة ،من تطوير الويب ●
وتطبيقات سطح المكتب إلى تحليل البيانات والذكاء االصطناعي.
المجتمع الكبير والدعم :تتمتع بايثون بمجتمع ضخم من المطورين الذين ●
يقدمون الدعم والمساعدة باستمرار ،باإلضافة إلى وجود العديد من المكتبات
واألدوات الجاهزة لالستخدام.
المصدر المفتوح :بايثون هي لغة مفتوحة المصدر ،مما يعني أنها مجانية ●
ويمكن استخدامها وتعديلها بحرية.
(الفصل الثاني :بيئة التطوير)
قبل أن نبدأ البرمجة ،نحتاج إلى تجهيز بيئة التطوير الخاصة بنا .سنتعلم في هذا
الفصل:
تنزيل وتثبيت بايثون :سنشرح كيفية تنزيل أحدث إصدار من بايثون وتثبيته
على نظام التشغيل الخاص بك (ويندوز ،ماك ،أو لينكس).
● محرر األكواد :سنتعرف على محرر األكواد ،وهو البرنامج الذي نكتب فيه
أوامر بايثون .سنرشح بعض المحررات الشائعة مثل VS Codeو
.PyCharm
● تشغيل أول برنامج :سنكتب أول برنامج لنا بلغة بايثون ،وهو برنامج
" "!Hello, Worldالشهير ،وسنتعلم كيفية تشغيله.
(الفصل الثالث :المتغيرات وأنواع البيانات)
في هذا الفصل ،سنتعرف على المفاهيم األساسية في البرمجة ،وهي:
● المتغيرات :المتغير هو مكان في الذاكرة لتخزين البيانات .سنتعلم كيفية
تعريف المتغيرات وإعطاءها قيمًا.
● أنواع البيانات :تأتي البيانات بأنواع مختلفة ،مثل األرقام (صحيحة
وعشرية) ،النصوص ،والقيم المنطقية (صحيح أو خطأ) .سنتعلم كيفية
التعامل مع هذه األنواع المختلفة.
● العمليات الحسابية :سنتعلم كيفية إجراء العمليات الحسابية األساسية (،- ،+
* )/ ،على األرقام.
(الفصل الرابع :التحكم في التدفق)
التحكم في التدفق هو ما يسمح لنا بتحديد ترتيب تنفيذ األوامر في البرنامج .سنتعلم
في هذا الفصل:
● الشروط :سنستخدم عبارات ifو elseلتنفيذ أوامر معينة إذا تحقق شرط
معين.
● الحلقات :سنستخدم حلقات forو whileلتكرار تنفيذ مجموعة من
األوامر.
(الفصل الخامس :الدوال)
الدوال هي مجموعة من األوامر التي تنفذ مهمة معينة .سنتعلم في هذا الفصل:
● تعريف الدوال :سنتعلم كيفية تعريف دوال جديدة وإعطائها اسمًا.
● استدعاء الدوال :سنتعلم كيفية استدعاء الدوال لتنفيذها.
● البارامترات والقيم المعادة :سنتعلم كيفية تمرير بيانات إلى الدوال وإرجاع
نتائج منها.
(الفصل السادس :القوائم)
القوائم هي هياكل بيانات تسمح لنا بتخزين مجموعة من العناصر .سنتعلم في هذا
الفصل:
● إنشاء القوائم :سنتعلم كيفية إنشاء قوائم جديدة وإضافة عناصر إليها.
● الوصول إلى العناصر :سنتعلم كيفية الوصول إلى عناصر القائمة باستخدام
الفهارس.
● العمليات على القوائم :سنتعلم بعض العمليات الشائعة التي يمكننا القيام بها
على القوائم ،مثل إضافة عناصر ،حذف عناصر ،وترتيب العناصر.
(الفصل السابع :الخطوات التالية)
بعد أن تعلمنا أساسيات بايثون ،سنناقش في هذا الفصل الخطوات التالية التي يمكنك
اتخاذها لتطوير مهاراتك في البرمجة ،مثل:
● التعمق في المكتبات :توجد العديد من المكتبات في القوية بايثون التي تسهل
عليك القيام بمهام معينة.
● المشاريع العملية :أفضل طريقة لتعلم البرمجة هي التطبيق العملي .سنقترح
بعض المشاريع البسيطة التي يمكنك القيام بها.
● المصادر التعليمية :سنرشح بعض المصادر التعليمية األخرى التي يمكن أن
تساعدك في رحلتك لتعلم بايثون.
الفصل الثامن :التعامل مع الملفات
سنتعلم في هذا الفصل كيفية التعامل مع الملفات ،وهو أمر ضروري لقراءة وكتابة
البيانات .سنتناول:
فتح وقراءة الملفات :سنتعلم كيفية فتح الملفات بأوضاع مختلفة وقراءة ●
محتواها.
الكتابة واإلضافة إلى الملفات :سنتعلم كيفية كتابة بيانات جديدة أو إضافتها ●
إلى ملف موجود.
إدارة الملفات :سنتعلم كيفية استخدام عبارة withإلدارة الملفات بكفاءة. ●
التعامل مع األخطاء :سنتعلم كيفية التعامل مع األخطاء المحتملة أثناء التعامل ●
مع الملفات.
سنتعلم في هذا الفصل كيفية التعامل مع االستثناءات (األخطاء) التي قد تحدث أثناء
تنفيذ البرنامج .سنتناول:
سنتعلم في هذا الفصل كيفية تنظيم الكود في وحدات وحزم لتسهيل إعادة استخدامه.
سنتناول:
● إنشاء واستخدام الوحدات :سنتعلم كيفية إنشاء وحدات جديدة واستخدامها.
● إنشاء واستخدام الحزم :سنتعلم كيفية إنشاء حزم لتنظيم الوحدات.
● __ :init__.pyسنتعلم دور هذا الملف في الحزم.
سنتعلم في هذا الفصل مقدمة عن البرمجة الشيئية ،وهي نموذج برمجي قوي.
سنتناول:
الكائنات والفئات :سنتعلم مفهوم الكائنات والفئات وكيفية إنشائها. ●
الخصائص واألساليب :سنتعلم كيفية تعريف الخصائص واألساليب ●
واستخدامها.
:selfسنتعلم دور الكائن .self ●
الوراثة :سنتعلم مفهوم الوراثة. ●
تعدد األشكال :سنتعلم مفهوم تعدد األشكال. ●
أساسيات لغة بايثون :دليل شامل للمبتدئين
(مقدمة)
أهالً بك في عالم بايثون ،لغة البرمجة القوية والمرنة التي ُتعتبر مثالية للمبتدئين
والمحترفين على حد سواء .سواء كنت تطمح إلى تطوير تطبيقات الويب ،تحليل
البيانات ،بناء الذكاء االصطناعي ،أو حتى أتمتة المهام اليومية ،فإن بايثون هي
األداة المناسبة لك .هذا الكتاب هو دليلك المبسّط والشامل لتعلم أساسيات هذه اللغة
الشيقة ،حيث سنأخذك خطوة بخطوة من الصفر حتى تتمكن من كتابة برامجك
الخاصة بثقة.
لماذا بايثون؟
قد تتساءل ،لماذا اخترنا بايثون تحدي ًدا؟ هناك العديد من لغات البرمجة األخرى،
فلماذا تكتسب بايثون هذه الشعبية الواسعة؟ الجواب يكمن في بساطتها ومرونتها
وتنوع استخداماتها .بايثون ليست مجرد لغة برمجة ،بل هي فلسفة وأسلوب حياة في
عالم تطوير البرمجيات .إنها لغة مصممة لتكون سهلة القراءة والكتابة ،مما يجعلها
مثالية للمبتدئين الذين يخطون خطواتهم األولى في هذا المجال.
ما الذي يميز بايثون؟
● سهولة التعلم :تتميز بايثون ببساطة تركيبها وقراءتها .تشبه كلماتها
ومصطلحاتها اللغة اإلنجليزية بشكل كبير ،مما يجعل فهم األوامر والتعليمات
أسهل بكثير من اللغات األخرى .ال تحتاج إلى حفظ قواعد معقدة أو تراكيب
غريبة ،بل يمكنك التركيز على منطق البرنامج وهدفه.
● تنوع االستخداماتُ :تستخدم بايثون في مجاالت واسعة ج ًدا ،تكاد ال تجد
مجااًل ال يمكن لبايثون أن تخدمه فيه .من تطوير تطبيقات الويب وتطبيقات
سطح المكتب ،مرورً ا بتحليل البيانات والذكاء االصطناعي ،وصواًل إلى أتمتة
المهام اليومية والتحكم في األجهزة الذكية .هذا التنوع يجعل بايثون خيارً ا
مثاليًا ألي شخص يرغب في تعلم البرمجة ،بغض النظر عن اهتماماته
وأهدافه.
● المجتمع الكبير والدعم :تتمتع بايثون بمجتمع ضخم من المطورين حول
العالم .هذا يعني أنك لن تكون وحي ًدا في رحلتك لتعلم بايثون .هناك العديد من
المنتديات ،المجموعات ،والمواقع اإللكترونية التي تقدم الدعم والمساعدة
للمبرمجين من جميع المستويات .إذا واجهتك مشكلة ،فمن المؤكد أنك ستجد
شخصًا يساعدك في حلها.
● المصدر المفتوح :بايثون هي لغة مفتوحة المصدر ،مما يعني أنها مجانية
تمامًا ويمكن ألي شخص استخدامها وتعديلها وتوزيعها .هذا يجعلها خيارً ا
مثاليًا لألفراد والشركات على حد سواء ،حيث ال توجد تكاليف ترخيص أو
حقوق ملكية.
● المكتبات واألدوات :تتوفر لبايثون العديد من المكتبات واألدوات الجاهزة
لالستخدام ،مما يوفر عليك الكثير من الجهد والوقت .هذه المكتبات تحتوي
على دوال وأوامر جاهزة لتنفيذ مهام معينة ،مثل التعامل مع قواعد البيانات،
تحليل البيانات ،إنشاء الرسوم البيانية ،وغيرها الكثير.
في هذا الكتاب ،سنركز على أساسيات بايثون التي تحتاجها لالنطالق في عالم
البرمجة .سنبدأ بتجهيز بيئة التطوير ،ثم سنتعلم المتغيرات وأنواع البيانات،
وسنتطرق إلى التحكم في التدفق ،الدوال ،القوائم ،وغيرها من المفاهيم األساسية.
سنقدم لك أمثلة عملية وتمارين لتطبيق ما تعلمته ،حتى تتمكن من بناء فهم قوي
ألساسيات بايثون .هيا بنا نبدأ رحلتنا الشيقة في عالم بايثون!
إذن ،باختصار ،بايثون هي لغة برمجة قوية ومتنوعة وسهلة التعلم ،تتمتع بمجتمع
كبير ودعم ممتاز ،وهي مجانية ومفتوحة المصدر .كل هذه الميزات تجعلها خيارً ا
مثاليًا للمبتدئين الذين يرغبون في تعلم البرمجة ،وكذلك للمحترفين الذين يبحثون عن
لغة مرنة وفعالة إلنجاز مشاريعهم.
نظرة سريعة على استخدامات بايثون:
كما ذكرنا ساب ًقا ،بايثون ُتستخدم في مجاالت واسعة ج ًدا .دعونا نلقي نظرة سريعة
على بعض األمثلة:
تطوير الويبُ :تستخدم بايثون في تطوير تطبيقات الويب باستخدام ُأطر عمل ●
مثل Djangoو .Flaskهذه اُألطر توفر أدوات وميزات تسهل عملية بناء
مواقع الويب الديناميكية والتفاعلية.
تحليل البياناتُ :تعتبر بايثون لغة قوية ج ًدا في مجال تحليل البيانات .مكتبات ●
مثل NumPyو Pandasتوفر أدوات متقدمة للتعامل مع البيانات
وتنظيفها وتحليلها.
الذكاء االصطناعي وتعلم اآللةُ :تستخدم بايثون على نطاق واسع في مجال ●
الذكاء االصطناعي وتعلم اآللة .مكتبات مثل TensorFlowو PyTorch
توفر أدوات قوية لبناء نماذج الذكاء االصطناعي وتدريبها.
أتمتة المهام :يمكن استخدام بايثون ألتمتة المهام اليومية المتكررة ،مثل ●
إرسال رسائل البريد اإللكتروني ،إدارة الملفات ،وجلب البيانات من
اإلنترنت.
تطبيقات سطح المكتب :يمكن استخدام بايثون لتطوير تطبيقات سطح المكتب ●
باستخدام مكتبات مثل PyQtو .Tkinter
تطبيقات األلعاب :يمكن استخدام بايثون لتطوير األلعاب باستخدام مكتبات مثل ●
.Pygame
هذه مجرد أمثلة قليلة من العديد من االستخدامات الممكنة لبايثون .كل يوم ،يكتشف
المطورون استخدامات جديدة ومبتكرة لهذه اللغة القوية.
هل بايثون مناسبة لي؟
السؤال األهم هو ،هل بايثون مناسبة لك؟ الجواب هو نعم ،على األرجح! إذا كنت
ترغب في تعلم البرمجة ،أو إذا كنت تبحث عن لغة سهلة ومرنة إلنجاز مشاريعك،
فإن بايثون هي خيار ممتاز .ال تحتاج إلى أي خبرة سابقة في البرمجة لتبدأ تعلم
بايثون .كل ما تحتاجه هو الرغبة في التعلم والمتابعة.
في الفصول القادمة ،سنبدأ في استكشاف أساسيات بايثون خطوة بخطوة .سنتعلم
كيفية تثبيت بايثون ،كتابة أول برنامج لنا ،التعامل مع المتغيرات وأنواع البيانات،
والعديد من المفاهيم األساسية األخرى .سنقدم لك أمثلة عملية وتمارين لتطبيق ما
تعلمته ،حتى تتمكن من بناء فهم قوي ألساسيات بايثون .استعد لالنطالق في رحلة
شيقة ومثمرة في عالم البرمجة مع بايثون!
افتح محرر األكواد الذي اخترته ،وأنشئ مل ًفا جدي ًدا باسم .hello.pyاكتب
الكود التالي في الملف:
Python
)"!print("Hello, World
بعد االنتقال إلى المجلد ،قم بتشغيل البرنامج باستخدام األمر التالي:
Bash
python hello.py
إذا تم كل شيء بشكل صحيح ،سترى العبارة " "!Hello, Worldمطبوعة على
الشاشة .تهانينا! لقد كتبت وشغلت أول برنامج لك بلغة بايثون!
في الفصل التالي ،سنتعلم المزيد عن المتغيرات وأنواع البيانات في بايثون.
لتعريف متغير في بايثون وإعطائه قيمة ،نستخدم عالمة المساواة (=) .على سبيل
المثال:
Python
"name = "John Doe
age = 30
height = 1.85
is_student = True
في هذا المثال ،قمنا بتعريف أربعة متغيرات ،name، age، height :و
.is_studentكل متغير يحمل قيمة مختلفة.
.2أنواع البيانات:
تأتي البيانات بأنواع مختلفة .في بايثون ،هناك بعض أنواع البيانات األساسية التي
يجب أن تعرفها:
● األرقام (ُ :)Numbersتستخدم لتمثيل األرقام .هناك نوعان رئيسيان من
األرقام:
○ األعداد الصحيحة ( :)Integersمثل .3- ،2- ،1- ،3 ،2 ،1
○ األعداد العشرية ( :)Floating-point numbersمثل ،3.14
.1.5- ،2.71
● النصوص (ُ :)Stringsتستخدم لتمثيل النصوصُ .تكتب النصوص بين
عالمتي اقتباس مفردة (') أو مزدوجة (") .مثل "Hello, World!"،
.''Python
● القيم المنطقية (ُ :)Booleansتستخدم لتمثيل القيم الصحيحة أو الخاطئة.
هناك قيمتان منطقيتان فقط True :و .False
age = 30
# ))print(type(ageسيطبع <( >'class 'intعدد صحيح)
height = 1.85
# ))print(type(heightسيطبع <( >'class 'floatعدد عشري)
is_student = True
# ))print(type(is_studentسيطبع <( >'class 'boolقيمة منطقية)
في الفصل التالي ،سنتعلم المزيد عن التحكم في التدفق ،وكيف نستخدم الشروط
والحلقات لتنفيذ أوامر معينة بنا ًء على شروط معينة.
الفصل الرابع :التحكم في التدفق)
التحكم في التدفق هو مفهوم أساسي في البرمجة يسمح لنا بتحديد ترتيب تنفيذ
األوامر في البرنامج .بدون التحكم في التدفق ،سيتم تنفيذ األوامر سطرً ا بسطر من
األعلى إلى األسفل .ولكن في كثير من األحيان ،نحتاج إلى تنفيذ أوامر معينة بنا ًء
على شروط معينة ،أو تكرار تنفيذ مجموعة من األوامر عدة مرات .هنا يأتي دور
التحكم في التدفق.
في هذا الفصل ،سنتعرف على نوعين رئيسيين من التحكم في التدفق :الشروط
والحلقات.
.1الشروط (:)Conditional Statements
ُتستخدم الشروط لتنفيذ أوامر معينة إذا تحقق شرط معين .في بايثون ،نستخدم
عبارات ifو ( elifاختصار لـ " )"else ifو elseلتحقيق ذلك.
● عبارة ُ :ifتستخدم لتنفيذ أوامر معينة إذا كان الشرط صحيحً ا (.)True
الصيغة العامة لعبارة ifهي:
Python
:if condition
#أوامر يتم تنفيذها إذا كان الشرط صحيحً ا
● عبارة ُ :elifتستخدم إلضافة شروط إضافية .إذا كان الشرط األول في
عبارة ifخاطًئ ا ( ،)Falseيتم فحص الشرط في عبارة .elifيمكن أن
يكون لدينا أكثر من عبارة .elifالصيغة العامة لعبارة elifهي:
Python
:elif condition
#أوامر يتم تنفيذها إذا كان الشرط صحيحً ا
● عبارة ُ :elseتستخدم لتنفيذ أوامر معينة إذا كان جميع الشروط السابقة
خاطئة .الصيغة العامة لعبارة elseهي:
Python
:else
#أوامر يتم تنفيذها إذا كانت جميع الشروط السابقة خاطئة
مثال:
Python
age = 20
.2الحلقات (:)Loops
ُتستخدم الحلقات لتكرار تنفيذ مجموعة من األوامر عدة مرات .في بايثون ،لدينا
نوعان رئيسيان من الحلقات :حلقات forوحلقات .while
● حلقة ُ :forتستخدم لتكرار تنفيذ أوامر معينة لعدد محدد من المرات ،أو
للتكرار على عناصر مجموعة (مثل قائمة أو نص) .الصيغة العامة لحلقة
forهي:
Python
:for item in sequence
#أوامر يتم تنفيذها لكل عنصر في المجموعة
مثال:
Python
"[ = fruitsتفاح"" ,موز"" ,برتقال"]
Python
:while condition
#أوامر يتم تنفيذها طالما أن الشرط صحيحً ا
مثال:
Python
i=0
في الفصل التالي ،سنتعلم عن الدوال ،وكيف نستخدمها لتنظيم الكود وجعله أكثر
قابلية للقراءة وإعادة االستخدام.
الفصل الخامس :الدوال)
الدوال هي مجموعة من األوامر التي تنفذ مهمة معينةُ .تعتبر الدوال من أهم المفاهيم
في البرمجة ،حيث تساعدنا على تنظيم الكود وجعله أكثر قابلية للقراءة وإعادة
االستخدام .بدالً من كتابة نفس مجموعة األوامر عدة مرات ،يمكننا تعريف دالة
واحدة تحتوي على هذه األوامر ،ثم استدعاء هذه الدالة في أي مكان في البرنامج.
.1تعريف الدوال:
لتعريف دالة في بايثون ،نستخدم الكلمة المفتاحية ،defمتبوعة باسم الدالة ،ثم
قوسين () ،ثم نقطتين رأسيتين ( .):بعد ذلك ،نكتب األوامر التي تنفذها الدالة داخل
مسافة بادئة .الصيغة العامة لتعريف دالة هي:
Python
:)def function_name(parameters
#أوامر يتم تنفيذها بواسطة الدالة
# return valueقيمة يتم إرجاعها بواسطة الدالة (اختياري)
.2استدعاء الدوال:
الستدعاء دالة ،نكتب اسم الدالة ،متبوعًا بقوسين () ،وداخل القوسين نمرر القيم التي
نريد تمريرها كبارامترات للدالة .على سبيل المثال:
Python
)"message = greet("John
# )print(messageسيطبع !Hello, John
:)(def my_function
# local_variable = 5متغير محلي
# )print(global_variableيمكن الوصول إلى المتغير العام
# )print(local_variableيمكن الوصول إلى المتغير المحلي
)(my_function
# )print(global_variableيمكن الوصول إلى المتغير العام
# )print(local_variable #ال يمكن الوصول إلى المتغير المحلي خارج
الدالة
الدوال تساعدنا على تقسيم البرنامج إلى أجزاء صغيرة ومنطقية ،مما يجعل الكود
أسهل في القراءة والصيانة .كما أنها تسمح لنا بإعادة استخدام الكود ،مما يوفر علينا
الوقت والجهد .في الفصل التالي ،سنتعلم عن هياكل البيانات ،مثل القوائم ،وكيف
نستخدمها لتخزين مجموعات من البيانات.
(الفصل السابع :المجموعات والقواميس)
باإلضافة إلى القوائم ،توفر بايثون هياكل بيانات أخرى مفيدة ،مثل المجموعات
( )Setsوالقواميس ( .)Dictionariesسنتعرف في هذا الفصل على هذه الهياكل
وكيفية استخدامها.
.1المجموعات (:)Sets
المجموعة هي هيكل بيانات غير مرتب يحتوي على عناصر فريدة فقط .ال يمكن أن
تحتوي المجموعة على عناصر مكررةُ .تستخدم المجموعات غالبًا إلزالة العناصر
المكررة من البيانات ،أو إلجراء عمليات رياضية على المجموعات (مثل االتحاد
والتقاطع).
● إنشاء المجموعات:
إلنشاء مجموعة ،نكتب العناصر داخل أقواس معقوفة {} ،ونفصل بينها بفواصل
.,
أمثلة:
Python
}numbers = {1, 2, 3, 4, 5
"{ = fruitsتفاح"" ,موز"" ,برتقال"}
}mixed_set = {1, "Hello", 3.14, True
# )(empty_set = setمجموعة فارغة (مالحظةُ }{ :تستخدم إلنشاء قاموس
فارغ)
● العمليات على المجموعات:
توفر بايثون العديد من العمليات على المجموعات ،مثل:
* **` **:`)(addإضافة عنصر إلى المجموعة.
* **` **:`)(removeحذف عنصر من المجموعة.
* **` **:`)(discardحذف عنصر من المجموعة (إذا كان موجو ًدا).
* **` **:`)(clearحذف جميع العناصر من المجموعة.
* **` **:`)(unionإرجاع اتحاد المجموعتين.
* **` **:`)(intersectionإرجاع تقاطع المجموعتين.
* **` **:`)(differenceإرجاع الفرق بين المجموعتين.
أمثلة:
Python
}set1 = {1, 2, 3
}set2 = {3, 4, 5
)set1.add(6
# )print(set1سيطبع {}6 ,3 ,2 ,1
)set1.remove(2
# )print(set1سيطبع {}6 ,3 ,1
.2القواميس (:)Dictionaries
القاموس هو هيكل بيانات يُخزن البيانات في شكل أزواج (مفتاح :قيمة) .يُستخدم
المفتاح للوصول إلى القيمة المرتبطة بهُ .تعتبر القواميس مفيدة ج ًدا لتخزين البيانات
التي تحتاج إلى الوصول إليها بسرعة باستخدام مفاتيح فريدة.
● إنشاء القواميس:
إلنشاء قاموس ،نكتب األزواج (مفتاح :قيمة) داخل أقواس معقوفة {} ،ونفصل بين
األزواج بفواصل .,يجب أن يكون المفتاح فري ًدا وغير قابل للتغيير (مثل نص أو
رقم).
أمثلة:
Python
person = {"name": "John Doe", "age": 30, "city": "New
}"York
# }{ = empty_dictقاموس فارغ
● الوصول إلى القيم:
يمكننا الوصول إلى قيمة معينة باستخدام المفتاح الخاص بها.
مثال:
Python
person = {"name": "John Doe", "age": 30, "city": "New
}"York
:مثال
Python
person = {"name": "John Doe", "age": 30, "occupation":
}""Programmer
]"del person["occupation
# )print(personسيطبع {'}name': 'John Doe', 'age': 30
أمثلة:
Python
}person = {"name": "John Doe", "age": 30
المجموعات والقواميس هما هيكال بيانات قويان يُكمالن القوائم ،ويُستخدمان على
نطاق واسع في بايثون لتنظيم البيانات والوصول إليها بكفاءة .في الفصل التالي،
سنناقش كيفية التعامل مع الملفات في بايثون.
الفصل الثامن :التعامل مع الملفات)
يُعتبر التعامل مع الملفات جزءًا أساسيًا من البرمجة .في كثير من األحيان ،نحتاج
إلى قراءة بيانات من ملف ،أو كتابة بيانات إلى ملف .توفر بايثون أدوات قوية
وسهلة االستخدام للتعامل مع الملفات.
.1فتح الملفات:
لفتح ملف في بايثون ،نستخدم الدالة .)(openتأخذ هذه الدالة وسيطين :اسم
الملف ،ووضع الفتح .وضع الفتح يحدد الطريقة التي سيتم بها فتح الملف (للقراءة،
للكتابة ،أو لإلضافة).
أمثلة ألوضاع الفتح:
مثال:
Python
# )"file = open("my_file.txt", "rفتح الملف للقراءة
.2قراءة الملفات:
بعد فتح الملف ،يمكننا قراءة محتواه باستخدام عدة طرق:
● :)(readيقرأ جميع محتوى الملف كسلسلة نصية واحدة.
● :)(readlineيقرأ سطرً ا واح ًدا من الملف.
● :)(readlinesيقرأ جميع أسطر الملف ويُرجعها كقائمة من السالسل
النصية.
أمثلة:
Python
)"file = open("my_file.txt", "r
Python
)"file = open("my_file.txt", "r
)(file.close
للكتابة إلى ملف ،نفتح الملف في وضع الكتابة (" "wأو " ،)"aثم نستخدم الدالة
)(writeلكتابة البيانات.
مثال:
Python
# )"file = open("my_file.txt", "wفتح الملف للكتابة
)(file.close
مثال:
Python
# )"file = open("my_file.txt", "aفتح الملف لإلضافة
)(file.close
.5استخدام :with
.6التعامل مع األخطاء:
من المهم التعامل مع األخطاء التي قد تحدث أثناء التعامل مع الملفات ،مثل عدم
وجود الملف .يمكننا استخدام عبارات tryو exceptللتعامل مع هذه
األخطاء.
مثال:
Python
:try
:with open("nonexistent_file.txt", "r") as file
)(content = file.read
)print(content
:except FileNotFoundError
"(printالملف غير موجود)".
Python
:try
#الكود الذي قد يسبب استثناء
:except ExceptionType
#الكود الذي يتم تنفيذه إذا حدث استثناء من النوع ExceptionType
.2أنواع االستثناءات:
هناك العديد من أنواع االستثناءات في بايثون ،مثل:
يمكننا أيضًا رفع استثناءات يدويًا باستخدام الكلمة المفتاحية .raiseيُستخدم هذا
عندما نريد إجبار حدوث استثناء معين في حالة معينة.
مثال:
Python
:)def divide(x, y
:if y == 0
"(raise ZeroDivisionErrorال يمكن القسمة على صفر)".
return x / y
:try
)result = divide(10, 0
:except ZeroDivisionError as e
)print(e
:try...except...finally .4
ُتستخدم كتلة finallyلتنفيذ كود معين دائمًا ،سواء حدث استثناء أم ال .يُستخدم
هذا غالبًا لتنظيف الموارد ،مثل إغالق الملفات أو االتصاالت بقواعد البيانات.
مثال:
Python
:try
)"file = open("my_file.txt", "r
... #التعامل مع الملف ...
:except FileNotFoundError
"(printالملف غير موجود)".
:finally
if 'file' in locals() and file is not None: #check if the file
exists and is not none before closing
# )(file.closeإغالق الملف دائمًا
التعامل مع االستثناءات بشكل صحيح يجعل برامجنا أكثر موثوقية وقادرة على
التعامل مع األخطاء بشكل سلس .يُعتبر فهم كيفية استخدام tryو exceptو
finallyمهارة أساسية لكل مبرمج بايثون .هذا الفصل يغطي أساسيات التعامل
مع االستثناءات ،وهناك المزيد من التقنيات المتقدمة التي يمكنك استكشافها في
وثائق بايثون.
الفصل العاشر :الوحدات والحزم)
مع نمو حجم مشاريعنا البرمجية ،يصبح من الضروري تنظيم الكود وتقسيمه إلى
أجزاء صغيرة قابلة إلعادة االستخدام .هنا يأتي دور الوحدات ()Modules
والحزم (.)Packages
.1الوحدات (:)Modules
الوحدة هي ملف يحتوي على كود بايثون (دوال ،متغيرات ،classes ،إلخ).
تسمح لنا الوحدات بتنظيم الكود وجعله أكثر قابلية للقراءة والصيانة .كما أنها تسمح
لنا بإعادة استخدام الكود في مشاريع مختلفة.
● إنشاء الوحدات:
إلنشاء وحدة ،ببساطة نكتب كود بايثون في ملف بامتداد .py.اسم الملف هو اسم
الوحدة.
Python
:)def greet(name
"!" + return "Hello, " + name
:مثال
Python
import my_module
)"message = my_module.greet("John
!Hello, John سيطبع# )print(message
)sum = my_module.add(5, 3
8 سيطبع# )print(sum
.from يمكننا أيضًا استيراد أسماء معينة من الوحدة باستخدام الكلمة المفتاحية
:مثال
Python
from my_module import greet
)"message = greet("Jane
!Hello, Jane سيطبع# )print(message
أو استيراد كل شيء من الوحدة:
Python
* from my_module import
)"message = greet("David
)sum = add(10, 20
# )print(messageسيطبع !Hello, David
#سيطبع 30 )print(sum
.2الحزم (:)Packages
الحزمة هي طريقة لتنظيم الوحدات ذات الصلة معًا .الحزمة هي مجلد يحتوي على
ملف خاص باسم __( init__.pyقد يكون فار ًغا) .يمكن أن تحتوي الحزمة
على وحدات فرعية وحزم فرعية أخرى.
● إنشاء الحزم:
إلنشاء حزمة ،نقوم بإنشاء مجلد يحتوي على ملف __ .init__.pyيمكننا
وضع وحدات بايثون داخل هذا المجلد.
)"message = my_package.utils.my_module.greet("Sarah
!Hello, Sarah سيطبع# )print(message
:أو
Python
from my_package.utils.my_module import greet
)"message = greet("Mike
!Hello, Mike سيطبع# )print(message
:init__.py__ .3
ملف __ init__.pyهو ملف خاص في كل حزمة .يُستخدم لتهيئة الحزمة.
يمكن أن يكون فار ًغا ،أو يمكن أن يحتوي على كود يتم تنفيذه عند استيراد الحزمة.
يمكننا أيضًا استخدام __ init__.pyلجعل بعض الوحدات أو الدوال أو
classesمتاحة مباشرة عند استيراد الحزمة ،بداًل من االضطرار الستيرادها من
الوحدات الفرعية.
مثال:
Python
# from .my_module import greet, addجعل greetو addمتاحة
مباشرة
مثال :لنفترض أن لدينا فئة باسم ( Carسيارة) .يمكن أن تحتوي الكائنات من هذه
الفئة على خصائص مثل ( colorاللون)( model ،الموديل)speed ،
(السرعة) ،وأساليب مثل ( )(startتشغيل)( )(stop ،إيقاف)،
( )(accelerateتسريع).
.2الفئات (:)Classes
الفئة هي مخطط أو نموذج إلنشاء الكائنات .تحدد الفئة الخصائص واألساليب التي
ستحتوي عليها الكائنات من تلك الفئة.
● تعريف الفئات:
مثال:
Python
:class Car
)Constructor( دالة البناء# :)def __init__(self, color, model
self.color = color
self.model = model
self.speed = 0
:)def start(self
)".("السيارة تعملprint
:self .4
الوسيط selfهو وسيط إلزامي في جميع أساليب الفئة .يشير selfإلى الكائن
الحالي الذي يتم استدعاء األسلوب عليه.
دالة البناء __ )(__initهي دالة خاصة يتم استدعاؤها تلقائيًا عند إنشاء كائن
جديد من الفئةُ .تستخدم هذه الدالة لتهيئة خصائص الكائن.
.6الوراثة (:)Inheritance
الوراثة هي آلية تسمح لنا بإنشاء فئات جديدة ( ُتسمى الفئات المشتقة أو
)subclassesترث خصائص وأساليب فئات موجودة ( ُتسمى الفئات األساسية أو
.)superclassesتسمح لنا الوراثة بتجنب تكرار الكود وإضافة خصائص
وأساليب جديدة إلى الفئات المشتقة.
مثال:
Python
class ElectricCar(Car): # ElectricCarترث من Car
:)def __init__(self, color, model, battery_capacity
# )super().__init__(color, modelاستدعاء دالة البناء للفئة
األساسية
self.battery_capacity = battery_capacity
:)def charge(self
"(printجاري شحن البطارية)".
البرمجة الشيئية هي نموذج برمجي قوي ومرن ،و ُتستخدم على نطاق واسع في
تطوير التطبيقات الكبيرة والمعقدة .هذا الفصل يقدم مقدمة إلى ،OOPوهناك
المزيد من المفاهيم والميزات المتقدمة التي يمكنك استكشافها في وثائق بايثون.
الفصل الثاني عشر :مكتبات بايثون القياسية)
بايثون ال تأتي فقط مع اللغة األساسية ،بل أيضًا مع مجموعة واسعة من المكتبات
القياسية ( )Standard Librariesالتي توفر وظائف جاهزة لالستخدام في
مختلف المجاالت .هذه المكتبات تسهل علينا الكثير من العمل وتوفر حلواًل لمشاكل
شائعة .في هذا الفصل ،سنستعرض بعضًا من أهم مكتبات بايثون القياسية.
#إنشاء مجلد
)"os.mkdir("new_directory #
#حذف مجلد
)"os.rmdir("new_directory #
توفر مكتبة sysوظائف للتعامل مع بيئة بايثون ،مثل الوصول إلى وسائط سطر
األوامر ،التعامل مع المدخالت والمخرجات القياسية ،والخروج من البرنامج.
أمثلة:
Python
import sys
#الخروج من البرنامج
)(sys.exit #
#الجذر التربيعي
)square_root = math.sqrt(25
)print(square_root
#الدوال المثلثية
)sine = math.sin(math.pi / 2
)print(sine
اللوغاريتم#
)logarithm = math.log(10
)print(logarithm
:أمثلة
Python
import random
:أمثلة
Python
import datetime
:)json (JSON .6
هذه مجرد أمثلة قليلة من العديد من مكتبات بايثون القياسية .توفر هذه المكتبات
وظائف جاهزة لالستخدام في مختلف المجاالت ،مما يجعل تطوير تطبيقات بايثون
أسرع وأسهل .ننصحك باستكشاف المزيد من المكتبات القياسية في وثائق بايثون،
حيث ستجد العديد من األدوات القوية التي يمكن أن تساعدك في مشاريعك.
(الفصل الثالث عشر :مكتبات بايثون الخارجية)
باإلضافة إلى مكتبات بايثون القياسية ،هناك العديد من المكتبات الخارجية
( )External Librariesالتي يمكننا استخدامها لتوسيع قدرات بايثون .هذه
المكتبات ُتطوّ رها مجتمعات المطورين ،وتوفر وظائف متخصصة في مجاالت
مختلفة ،مثل تحليل البيانات ،تعلم اآللة ،تطوير الويب ،وغيرها .في هذا الفصل،
سنستعرض بعضًا من أهم مكتبات بايثون الخارجية.
#إنشاء مصفوفة
)]array = np.array([1, 2, 3, 4, 5
#إنشاء DataFrame
}]data = {'Name': ['John', 'Jane', 'David'], 'Age': [25, 30, 28
)df = pd.DataFrame(data
#تحليل البيانات
)(mean_age = df['Age'].mean
)print(mean_age
#التنبؤ
)]]prediction = model.predict([[4
)print(prediction
""" = html
<>html
<>head><title>Sample Page</title></head
<>body><h1>Hello, World!</h1></body
<>html/
"""
title = soup.title.string
# )print(titleسيطبع Sample Page
h1 = soup.h1.string
# )print(h1سيطبع !Hello, World
هذه مجرد أمثلة قليلة من العديد من مكتبات بايثون الخارجية .هناك العديد من
المكتبات األخرى المتخصصة في مجاالت مختلفة ،مثل تطوير األلعاب ،معالجة
الصور ،معالجة الصوت ،وغيرها .ننصحك باستكشاف هذه المكتبات والتعرف
عليها ،حيث ستساعدك في تطوير تطبيقات بايثون أكثر قوة وفعالية .يمكن تثبيت
هذه المكتبات باستخدام أداة .)pip (Python Package Installerعلى سبيل
المثال ،لتثبيت مكتبة ،NumPyيمكنك تشغيل األمر التالي في سطر األوامر:
Bash
pip install num
الفصل الرابع عشر :أفضل الممارسات في بايثون)
كتابة كود نظيف وفعال وقابل للصيانة أمر بالغ األهمية في عالم البرمجة .في هذا
الفصل ،سنتناول بعض أفضل الممارسات التي تساعدك على كتابة كود بايثون عالي
الجودة.
.1اتباع دليل أسلوب :PEP 8
PEP 8هو دليل أسلوب رسمي للغة بايثون .يوصي هذا الدليل بقواعد واضحة
لتنسيق الكود ،مثل المسافات البادئة ،طول األسطر ،تسمية المتغيرات والدوال،
وغيرها .اتباع PEP 8يجعل كودك أكثر قابلية للقراءة واالتساق مع كود
المبرمجين اآلخرين.
أمثلة من :PEP 8
استخدم أربع مسافات بادئة لكل مستوى. ●
طول السطر يجب أال يتجاوز 79حر ًفا. ●
استخدم أسماء ذات معنى للمتغيرات والدوال. ●
اترك سطرين فارغين بين الدوال. ●
ضع تعليقات لتوضيح الكود. ●
.2استخدام أسماء ذات معنى:
يجب أن تكون أسماء المتغيرات والدوال والفئات واضحة وذات معنى ،بحيث تعكس
الغرض من استخدامها .تجنب استخدام أسماء قصيرة ج ًدا أو عامة ج ًدا.
مثال:
Python
#أسماء جيدة
"user_name = "John Doe
)calculate_average(numbers
#أسماء سيئة
"n = "John Doe
)avg(nums
البارامترات:
:lengthطول المستطيل.
:widthعرض المستطيل.
القيمة المعادة:
مساحة المستطيل.
"""
return length * width
نتمنى لك التوفيق في رحلتك لتعلم بايثون .استخدم هذه المصادر لتطوير مهاراتك،
وستصل بالتأكيد إلى هدفك .تذكر أن التعلم عملية مستمرة ،وال تتوقف أب ًدا عن
البحث عن المعرفة الجديدة.