🇸🇦 الترجمة العربية : عربي
🧡🧡🧡 كود بسعادة 🧡🧡🧡
داعمونا الرائعون لدعم مساهمتي مفتوحة المصدر وسلسلة تحدي 30 يومًا!
يمكنك دعم هذا المشروع من خلال أن تصبح داعمًا على GitHub Sponsors أو عبر PayPal.
كل مساهمة، كبيرة كانت أم صغيرة، تُحدث فرقًا كبيرًا. شكرًا لدعمك! 🌟
🇬🇧 English 🇧🇷 Portuguese 🇨🇳 中文
- 🐍 30 يومًا من بايثون
- 📘 اليوم 1
تهانينا لقررك المشاركة في تحدي 30 يومًا من بايثون البرمجي. في هذا التحدي، ستتعلم كل ما تحتاجه لتصبح مبرمج بايثون وكل مفهوم البرمجة. في نهاية التحدي ستحصل على شهادة إتمام تحدي 30DaysOfPython.
إذا كنت ترغب في المشاركة بنشاط في التحدي، يمكنك الانضمام إلى مجموعة تلغرام تحدي 30DaysOfPython.
بايثون هي لغة برمجة عالية المستوى للأغراض العامة. إنها لغة برمجة مفتوحة المصدر، مُفسَّرة (interpreted)، وكائنية التوجه (object-oriented). تم إنشاء بايثون بواسطة مبرمج هولندي، Guido van Rossum. اشتق اسم لغة برمجة بايثون من مسلسل كوميدي بريطاني، Monty Python's Flying Circus. تم إصدار النسخة الأولى في 20 فبراير 1991. سيساعدك هذا التحدي المكون من 30 يومًا في تعلم أحدث إصدار من بايثون، Python 3، خطوة بخطوة. المواضيع مقسمة إلى 30 يومًا، حيث يحتوي كل يوم على عدة مواضيع مع شروحات سهلة الفهم، وأمثلة من العالم الحقيقي، والعديد من التمارين والمشاريع العملية.
صُمم هذا التحدي للمبتدئين والمحترفين الذين يرغبون في تعلم لغة برمجة بايثون. قد يستغرق إكمال التحدي من 30 إلى 100 يوم. الأشخاص الذين يشاركون بنشاط في مجموعة تلغرام لديهم احتمالية عالية لإكمال التحدي.
هذا التحدي سهل القراءة، مكتوب بلغة إنجليزية محادثاتية، جذاب، محفز، وفي نفس الوقت متطلب جدًا. تحتاج إلى تخصيص وقت كافٍ لإنهاء هذا التحدي. إذا كنت متعلمًا بصريًا، يمكنك الحصول على الدروس المرئية على قناة يوتيوب Washera. يمكنك البدء من فيديو بايثون للمبتدئين المطلقين. اشترك في القناة، وعلق واسأل أسئلة على فيديوهات يوتيوب وكن نشطًا، سيلاحظك المؤلف في النهاية.
يحب المؤلف سماع رأيك حول التحدي، شارك المؤلف بالتعبير عن أفكارك حول تحدي 30DaysOfPython. يمكنك ترك شهادتك على هذا الرابط
إنها لغة برمجة قريبة جدًا من اللغة البشرية، وبسبب ذلك، فهي سهلة التعلم والاستخدام. تُستخدم بايثون في العديد من الصناعات والشركات (بما في ذلك جوجل). تم استخدامها لتطوير تطبيقات الويب، تطبيقات سطح المكتب، إدارة الأنظمة، ومكتبات تعلم الآلة. بايثون هي لغة محبوبة جدًا في مجتمع علم البيانات وتعلم الآلة. آمل أن يكون هذا كافيًا لإقناعك لبدء تعلم بايثون. بايثون تلتهم العالم وأنت تقتله قبل أن يلتهمك.
لتشغيل سكريبت بايثون، تحتاج إلى تثبيت بايثون. دعنا نحمّل بايثون. إذا كنت مستخدم ويندوز، انقر على الزر المُحاط باللون الأحمر.
إذا كنت مستخدم macOS، انقر على الزر المُحاط باللون الأحمر.
للتحقق من تثبيت بايثون، اكتب الأمر التالي في terminal جهازك.
python3 --versionكما ترى من 'terminal'، أنا أستخدم إصدار 'Python 3.7.5' حاليًا. قد يكون إصدار بايثون الخاص بك مختلفًا عن إصداراي ولكن يجب أن يكون 3.6 أو أعلى. إذا تمكنت من رؤية إصدار بايثون، أحسنت. تم تثبيت بايثون على جهازك. تابع إلى القسم التالي.
بايثون هي لغة برمجة مفسَّرة (interpreted scripting language)، لذا فهي لا تحتاج إلى التجميع (compile). هذا يعني أنها تنفذ الكود سطرًا سطرًا. تأتي بايثون مع شل بايثون (Python Interactive Shell). يُستخدم لتنفيذ أمر بايثون واحد والحصول على النتيجة.
شل بايثون ينتظر كود بايثون من المستخدم. عندما تدخل الكود، يفسره ويعرض النتيجة في السطر التالي. افتح terminal أو موجه الأوامر (cmd) واكتب:
pythonتم فتح شل بايثون التفاعلي وهو في انتظارك لكتابة كود بايثون (سكريبت بايثون). ستكتب سكريبت بايثون الخاص بك بجانب هذا الرمز >>> ثم تضغط Enter. دعنا نكتب أول سكريبت لنا في شل بايثون البرمجي.
أحسنت، لقد كتبت أول سكريبت بايثون في شل بايثون التفاعلي. كيف نغلق شل بايثون التفاعلي؟ لإغلاق الشل، بجانب هذا الرمز >>> اكتب الأمر exit() واضغط Enter.
الآن، أنت تعرف كيفية فتح شل بايثون التفاعلي وكيفية الخروج منه.
سيعطيك بايثون نتائج إذا كتبت سكريبتات يفهمها بايثون، وإلا فإنه يرجع أخطاء. دعنا نرتكب خطأً متعمدًا ونرى ماذا سيرجع بايثون.
كما ترى من الخطأ المرتجع، بايثون ذكي جدًا لدرجة أنه يعرف الخطأ الذي ارتكبناه وكان Syntax Error: invalid syntax. استخدام x كعلامة ضرب في بايثون هو خطأ صياغة لأن (x) ليست صياغة صالحة في بايثون. بدلاً من (x) نستخدم العلامة النجمية (*) للضرب. يوضح الخطأ المرتجع بوضوح ما يجب إصلاحه.
عملية تحديد وإزالة الأخطاء من البرنامج تسمى التنقيح (debugging). دعنا ننقحه بوضع * مكان x.
تم إصلاح الخلل، وعمل الكود وحصلنا على النتيجة التي كنا نتوقعها. كمبرمج سترى هذا النوع من الأخطاء بشكل يومي. من الجيد أن تعرف كيفية التنقيح. لتكون جيدًا في التنقيح يجب أن تفهم أنواع الأخطاء التي تواجهها. بعض أخطاء بايثون التي قد تواجهها هي 'SyntaxError'، 'IndexError'، 'NameError'، 'ModuleNotFoundError'، 'KeyError'، 'ImportError'، 'AttributeError'، 'TypeError'، 'ValueError'، 'ZeroDivisionError' وغيرها. سنرى المزيد عن أنواع أخطاء بايثون المختلفة في أقسام لاحقة.
دعنا نتدرب أكثر على كيفية استخدام شل بايثون التفاعلي. اذهب إلى terminal أو موجه الأوامر واكتب كلمة python.
تم فتح شل بايثون التفاعلي. دعنا نقوم ببعض العمليات الحسابية الأساسية (جمع، طرح، ضرب، قسمة، باقي القسمة، الأس).
دعنا نقوم ببعض العمليات الحسابية أولاً قبل أن نكتب أي كود بايثون:
- 2 + 3 = 5
- 3 - 2 = 1
- 3 * 2 = 6
- 3 / 2 = 1.5
- 3 ** 2 = 3 x 3 = 9
في بايثون، لدينا العمليات الإضافية التالية:
- 3 % 2 = 1 => والتي تعني إيجاد الباقي
- 3 // 2 = 1 => والتي تعني إزالة الباقي
دعنا نحول التعبيرات الرياضية أعلاه إلى كود بايثون. تم فتح شل بايثون ودعنا نكتب تعليقًا (comment) في بداية الشل.
التعليق هو جزء من الكود لا يتم تنفيذه بواسطة بايثون. لذا يمكننا ترك بعض النصوص في كودنا لجعل كودنا أكثر قابلية للقراءة. بايثون لا يشغِّل جزء التعليق. التعليق في بايثون يبدأ برمز الهاشتاج (#). هذه هي كيفية كتابة تعليق في بايثون
# التعليق يبدأ بالهاشتاج
# هذا تعليق بايثون، لأنه يبدأ برمز (#)قبل أن ننتقل إلى القسم التالي، دعنا نتدرب أكثر على شل بايثون التفاعلي. أغلق الشل المفتوح بكتابة exit() في الشل وافتحه مرة أخرى ودعنا نتدرب على كيفية كتابة نص في شل بايثون.
شل بايثون التفاعلي جيد لتجربة واختبار أكواد سكريبت صغيرة ولكنه لن يكون مناسبًا لمشروع كبير. في بيئة العمل الحقيقية، يستخدم المطورون محررات أكواد مختلفة لكتابة الأكواد. في هذا التحدي البرمجي المكون من 30 يومًا من بايثون، سنستخدم فيجوال ستوديو كود. فيجوال ستوديو كود هو محرر نصوص مفتوح المصدر شائع جدًا. أنا من محبي vscode وأوصي بتحميل فيجوال ستوديو كود، ولكن إذا كنت تفضل محررات أخرى، فلا تتردد في متابعة ما لديك.
إذا قمت بتثبيت فيجوال ستوديو كود، دعنا نرى كيفية استخدامه. إذا كنت تفضل فيديو، يمكنك متابعة هذا الفيديو التعليمي لفيجوال ستوديو كود للبايثون
افتح فيجوال ستوديو كود بالنقر المزدوج على أيقونة فيجوال ستوديو. عندما تفتحه ستحصل على هذا النوع من الواجهة. حاول التفاعل مع الأيقونات الموسومة.
أنشئ مجلدًا باسم 30DaysOfPython على سطح المكتب. ثم افتحه باستخدام فيجوال ستوديو كود.
بعد فتحه، سترى اختصارات لإنشاء الملفات والمجلدات داخل دليل مشروع 30DaysOfPython. كما ترى أدناه، لقد قمت بإنشاء أول ملف، helloworld.py. يمكنك فعل الشيء نفسه.
بعد يوم طويل من البرمجة، تريد إغلاق محرر الأكواد الخاص بك، أليس كذلك؟ هكذا ستغلق المشروع المفتوح.
تهانينا، لقد انتهيت من إعداد بيئة التطوير. دعنا نبدأ البرمجة.
يمكن كتابة سكريبت بايثون في شل بايثون التفاعلي أو في محرر الأكواد. ملف بايثون له امتداد .py.
المسافة البادئة (Indentation) هي مسافة بيضاء في النص. تُستخدم المسافات البادئة في العديد من اللغات لزيادة قابلية قراءة الكود؛ ومع ذلك، تستخدم بايثون المسافات البادئة لإنشاء كتل من الكود. في لغات البرمجة الأخرى، تُستخدم الأقواس المجعدة لإنشاء كتل الكود بدلاً من المسافات البادئة. أحد الأخطاء الشائعة عند كتابة كود بايثون هو المسافة البادئة غير الصحيحة.
تلعب التعليقات دورًا حاسمًا في تحسين قابلية قراءة الكود والسماح للمطورين بترك ملاحظات داخل كودهم. في بايثون، أي نص يسبقه رمز الهاشتاج (#) يُعتبر تعليقًا ولا يتم تنفيذه عند تشغيل الكود.
مثال: تعليق سطر واحد
# هذا هو التعليق الأول
# هذا هو التعليق الثاني
# بايثون تلتهم العالممثال: تعليق متعدد الأسطر
يمكن استخدام علامة الاقتباس الثلاثية للتعليق متعدد الأسطر إذا لم يتم تعيينها لمتغير
"""هذا تعليق متعدد الأسطر
التعليق متعدد الأسطر يأخذ عدة أسطر.
بايثون تلتهم العالم
"""في بايثون هناك عدة أنواع من البيانات. دعنا نبدأ بالأكثر شيوعًا. سيتم تغطية أنواع البيانات المختلفة بالتفصيل في أقسام أخرى. في الوقت الحالي، دعنا فقط نستعرض أنواع البيانات المختلفة ونتعرف عليها. ليس عليك أن يكون لديك فهم واضح الآن.
- عدد صحيح (Integer): أعداد صحيحة (سلبية، صفر، وإيجابية) مثال: ... -3, -2, -1, 0, 1, 2, 3 ...
- عدد عشري (Float): رقم عشري مثال: ... -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5 ...
- عدد مركب (Complex) مثال: 1 + j, 2 + 4j
مجموعة من حرف واحد أو أكثر تحت علامة اقتباس مفردة أو مزدوجة. إذا كان النص أكثر من جملة واحدة فإننا نستخدم علامة الاقتباس الثلاثية.
مثال:
'Asabeneh'
'Finland'
'Python'
'I love teaching'
'I hope you are enjoying the first day of 30DaysOfPython Challenge'نوع البيانات المنطقية إما أن تكون قيمته True أو False. يجب أن تكون T و F دائمًا بأحرف كبيرة.
مثال:
True # هل الضوء مضاء؟ إذا كان مضاءً، فإن القيمة True
False # هل الضوء مضاء؟ إذا كان مطفأً، فإن القيمة Falseقائمة بايثون هي مجموعة مرتبة تسمح بتخزين عناصر من أنواع بيانات مختلفة. القائمة تشبه المصفوفة (array) في جافا سكريبت.
مثال:
[0, 1, 2, 3, 4, 5] # كلها من نفس نوع البيانات - قائمة أرقام
['Banana', 'Orange', 'Mango', 'Avocado'] # كلها من نفس نوع البيانات - قائمة نصوص (فواكه)
['Finland','Estonia', 'Sweden','Norway'] # كلها من نفس نوع البيانات - قائمة نصوص (دول)
['Banana', 10, False, 9.81] # أنواع بيانات مختلفة في القائمة - نص، عدد صحيح، منطقي، وعشريكائن القاموس في بايثون هو مجموعة غير مرتبة من البيانات بتنسيق زوج مفتاح-قيمة (key-value pair).
مثال:
{
'first_name':'Asabeneh',
'last_name':'Yetayeh',
'country':'Finland',
'age':250,
'is_married':True,
'skills':['JS', 'React', 'Node', 'Python']
}التوبل هو مجموعة مرتبة من أنواع بيانات مختلفة مثل القائمة ولكن لا يمكن تعديل التوبل بمجرد إنشائها. إنها غير قابلة للتغيير (immutable).
مثال:
('Asabeneh', 'Pawel', 'Brook', 'Abraham', 'Lidiya') # أسماء('Earth', 'Jupiter', 'Neptune', 'Mars', 'Venus', 'Saturn', 'Uranus', 'Mercury') # كواكبالمجموعة هي مجموعة من أنواع البيانات تشبه القائمة والتوبل. على عكس القائمة والتوبل، المجموعة ليست مجموعة مرتبة من العناصر. كما في الرياضيات، المجموعة في بايثون تخزن فقط العناصر الفريدة.
في الأقسام اللاحقة، سنتعمق في كل نوع من أنواع بيانات بايثون.
مثال:
{2, 4, 3, 5}
{3.14, 9.81, 2.7} # الترتيب ليس مهمًا في المجموعةللتحقق من نوع بيانات معينة/متغير نستخدم دالة type. في terminal التالي سترى أنواع بيانات بايثون المختلفة:
أولاً افتح مجلد مشروعك، 30DaysOfPython. إذا لم يكن لديك هذا المجلد، أنشئ مجلدًا باسم 30DaysOfPython. داخل هذا المجلد، أنشئ ملفًا باسم helloworld.py. الآن، دعنا نفعل ما فعلناه في شل بايثون التفاعلي باستخدام فيجوال ستوديو كود.
شل بايثون التفاعلي كان يطبع دون استخدام print ولكن في فيجوال ستوديو كود لرؤية نتيجتنا يجب أن نستخدم الدالة المضمنة 'print()'. الدالة المضمنة 'print()' تأخذ وسيطة واحدة أو أكثر كالتالي print('argument1', 'argument2', 'argument3'). انظر الأمثلة أدناه.
مثال:
اسم الملف هو helloworld.py
# اليوم 1 - تحدي 30DaysOfPython
print(2 + 3) # جمع (+)
print(3 - 1) # طرح (-)
print(2 * 3) # ضرب (*)
print(3 / 2) # قسمة (/)
print(3 ** 2) # أس (**)
print(3 % 2) # باقي القسمة (%)
print(3 // 2) # قسمة الأرض (//)
# التحقق من أنواع البيانات
print(type(10)) # Int
print(type(3.14)) # Float
print(type(1 + 3j)) # Complex number
print(type('Asabeneh')) # String
print(type([1, 2, 3])) # List
print(type({'name':'Asabeneh'})) # Dictionary
print(type({9.8, 3.14, 2.7})) # Set
print(type((9.8, 3.14, 2.7))) # Tupleلتشغيل ملف بايثون انظر إلى الصورة أدناه. يمكنك تشغيل ملف بايثون إما بالضغط على الزر الأخضر في فيجوال ستوديو كود أو بكتابة 'python helloworld.py' في 'terminal'.
🌕 أنت رائع. لقد أكملت للتو تحدي اليوم الأول وأنت في طريقك إلى العظمة. الآن قم ببعض التمارين لعقلك وعضلاتك.
- تحقق من إصدار بايثون الذي تستخدمه
- افتح شل بايثون التفاعلي وقم بالعمليات التالية. المعاملات (operands) هي 3 و 4.
- جمع (+)
- طرح (-)
- ضرب (*)
- باقي القسمة (%)
- قسمة (/)
- أس (**)
- قسمة الأرض (//)
- اكتب نصوصًا في شل بايثون التفاعلي. النصوص هي التالية:
- اسمك
- اسم عائلتك
- بلدك
- أنا أستمتع بـ 30 يومًا من بايثون
- تحقق من أنواع البيانات التالية:
- 10
- 9.8
- 3.14
- 4 - 4j
- ['Asabeneh', 'Python', 'Finland']
- اسمك
- اسم عائلتك
- بلدك
- أنشئ مجلدًا باسم day_1 داخل مجلد 30DaysOfPython. داخل مجلد day_1، أنشئ ملف بايثون helloworld.py وكرر الأسئلة 1 و 2 و 3 و 4. تذكر استخدام 'print()' عندما تعمل على ملف بايثون. انتقل إلى الدليل حيث حفظت ملفك، وشغّله.
- اكتب مثالاً لأنواع بيانات بايثون المختلفة مثل رقم (صحيح، عشري، مركب)، نص، قيمة منطقية، قائمة، توبل، مجموعة وقاموس.
- احسب المسافة الإقليدية بين (2, 3) و (10, 8)
🎉 مبروك! 🎉



















