Full transcript
Introduction
0:00في هذه الدورة ، سأعلمك كل ما تحتاج إلى معرفته لبدء البرمجة في بايثون. الآن ، Python هي واحدة من أكثر لغات البرمجة شيوعًا هناك. وهو حتى الآن
0:10واحدة من أكثر الوظائف المرغوبة. لذا إذا كنت تحاول الحصول على وظيفة أو تحاول ذلك ، أنت تعرف ، أتمتة حياتك ، أو تحاول كتابة نصوص رائعة للقيام بمجموعة من الأشياء المختلفة
0:19الأشياء ، ثم بايثون لك. بصراحة ، يقوم مطورو البرامج كل يوم بنقل ملفات تنتقل إلى Python لأنها قوية جدًا وسهلة الاستخدام. كثيراً
0:30من لغات البرمجة هناك ليست ودية للغاية للمبتدئين. هناك الكثير من بناء الجملة.
0:34هناك الكثير من الأشياء مثل الأشياء الصغيرة التي إذا أخطأت ، سيصيح عليك البرنامج. بايثون هو عكس ذلك تمامًا. أنت في الأساس تكتب فقط ما تريد القيام به وما تفعله بايثون
0:43هو - هي. بكل بساطة. ليس هناك الكثير من بناء الجملة لنتعلمه. منحنى التعلم حرفيا صفر. تقفز ، يمكنك البدء في كتابة برنامجك الأول في ثوان. في هذه الدورة ، أنا
0:54سنعلمكم يا رفاق كل ما تحتاجون إلى معرفته للبدء في بايثون. لقد صممت هذا بالطبع ، خاصة بالنسبة لبايثون. وقد تم تصميم كل درس بشكل خاص مع أمثلة ذلك
1:03سيساعدك على طول الطريق مع الكثير من الأشخاص الذين يبدأون في تعلم Python. السؤال ليس ،
1:07لماذا يجب أن تتعلم بايثون؟ السؤال هو ، لماذا لا؟ وأعتقد أنه بالنسبة للكثير من الأشخاص ، السبب وراء عدم رغبتهم في تعلم بايثون هو أنهم خائفون أو خائفون
1:16أنه سيكون صعبًا جدًا. صدقني ، سوف أمسك يدك خلال هذه الدورة التدريبية بأكملها. سنتحدث عن جميع المفاهيم الأساسية في بايثون. سننظر في كل شيء أنت
1:25بحاجة إلى معرفة بدء البرمجة في Python والبدء في الثقة والبدء في كتابة البرامج النصية وابدأ في كتابة برامج رائعة وتقوم بأشياء رائعة في حياتك. على أي حال،
1:34أنا متحمس للغاية لأعلمكم يا رفاق بايثون. لا أطيق الانتظار لبدء هذه الدورة. و
1:38أتمنى أن تستمروا وتتابعوا الدورة وتعلموا هذه البرمجة الرائعة لغة. في هذا البرنامج التعليمي ، سأوضح لكم يا رفاق كيفية تثبيت Python على جهاز الكمبيوتر الخاص بك.
Installing Python & PyCharm
1:52وسنقوم أيضًا بتثبيت محرر نصوص يمكننا استخدامه لكتابة برامج Python الخاصة بنا.
1:58لذا فإن أول أمر في العمل هو تثبيت Python على جهاز الكمبيوتر الخاص بك. إذن ماذا نريد ما عليك القيام به هو التوجه إلى متصفح الويب الخاص بنا. وتريد الانتقال إلى هذه الصفحة ، إنها فقط
2:09www.python.org تنزيلات الشرطة المائلة للأمام. وفي هذه الصفحة ، سيكون هناك زران بالأسفل هنا. وسيقول فقط تنزيل Python 3.6.3. وعلى الأقل هذه هي النسخة التي أمتلكها على صواب
2:23الآن أو قم بتنزيل Python 2.7.1.4. إذن هذا هو الشيء المتعلق ببايثون ، يوجد في الواقع نسختان رئيسيتان
2:30من Python قيد الاستخدام حاليًا. يوجد بايثون اثنان ، وهناك بايثون ثلاثة. حتى تتمكن من الرؤية هنا ، هذا مثل 2.7.1.4. في الأساس ، أي إصدار من Python نود الإشارة إليه على أنه مثل Python
2:45اثنين. وإليك أحدث إصدار من Python الثلاثة. وهكذا ، يمكنك استخدام هذين الإصدارين تحميل. وأول شيء يتعين علينا تحديده هو الإصدار الذي نريد تنزيله. وهنا
2:55الاختلاف الأساسي ، Python 2 هو إصدار قديم من Python ، وهو ما يعني ذلك في الأساس إنه يشبه الإصدار القديم ، ولا يتم صيانته أو دعمه بنشاط مثل رسمي
3:08بواسطة Python بعد الآن. بايثون ثلاثة مثل مستقبل بايثون. إنه مثل أحدث إصدار. انها ال واحد يتم صيانته ودعمه بنشاط. وبالتالي هناك إيجابيات وسلبيات لاختيار أي منهما
3:19واحد. سيقول الكثير من الناس مثل Python أن الثانية كانت موجودة لفترة أطول. وهناك المزيد من مثل المكتبات ، يوجد في الأساس المزيد من كود Python المكتوب بلغة Python الثانية. لذلك ، مثل
3:31هناك بعض الأشياء الأخرى التي يمكنك القيام بها في Python Two ، ثم يمكنك القيام بها في Python الثلاثة. لكن
3:35ثم مرة أخرى ، بايثون 2 غير مدعوم. وأنت تعلم ، بعد خمس أو 10 سنوات من الآن ، ربما لا أحد سوف تستخدمه. بايثون الثلاثة ، كما قلت ، مثل مستقبل بايثون. إنه الأحدث
3:45إصدار. إنه الشيء الذي ، كما تعلم ، يتم الحفاظ عليه نوعًا ما للمضي قدمًا. لذلك من أجل
3:50أغراض هذا البرنامج التعليمي ، سأقوم بتدريس بايثون ثلاثة. لذلك نحن نريد لتنزيل Python three. الآن هذا هو الشيء ، مثل ، إذا تعلمت بايثون ثلاثة ، أو تعلمت بايثون
4:01ثانيًا ، الاختلافات ليست كبيرة جدًا. هناك بعض الاختلافات في بعض القواعد وبعضها فقط ، تعلمون ، أشياء صغيرة هنا وهناك. ولكن إذا تعلمت Python 3 ، فستتمكن من القفز بشكل صحيح
4:11in and code في Python Two أيضًا. لا تدع أي شخص ، كما تعلم ، يخبرك أنه عليك أن تتعلم واحدًا أو الآخر ، سوف نتعلم Python ثلاثة فقط لأنني أعتقد أنه من المحتمل أن يكون الأفضل بالنسبة لـ
4:20مبتدئ في التعلم. وهذا هو ما نريد تنزيله. لذا سأقوم فقط بالنقر قم بتنزيل Python three. وسنمضي قدمًا وننزل هذا الإصدار. وعندما يتم ذلك للتنزيل ، سأنتقل إلى مجلد التنزيلات الخاص بي. وسترى هنا ، نحن فقط
4:34لديك هذا الملف ، سأقوم بالنقر المزدوج. ونحصل على هذا مثل مثبت Python. لذلك أنا فقط ذاهب للنقر هنا. وسنكون قادرين على تثبيت Python 3 على جهاز الكمبيوتر الخاص بنا. حسنًا،
4:45عند الانتهاء من التثبيت ، يمكننا إنهاء هذا الأمر ويجب أن نكون على ما يرام. حتى الآن نحن تثبيت Python ثلاثة على جهاز الكمبيوتر الخاص بنا. الخطوة التالية هي أننا بحاجة إلى اختيار محرر نصوص. لذا
4:57سنقوم بكتابة مجموعة من التعليمات البرمجية. لذلك سنحتاج إلى بعض ، كما تعلمون ،
5:01البيئة أو بعض البرامج التي يمكننا كتابة كل تلك التعليمات البرمجية فيها. وفي الحقيقة ، يمكنك كتابة Python في أي محرر نصوص ، يمكنك كتابته مثل المفكرة أو تحرير النص ، لا يهم حقًا.
5:11ولكن هناك برامج تحرير نصوص خاصة مصممة فقط لكتابة كود Python. وتسمى هذه IDEs. وهذا يعني بيئة التطوير المتكاملة. إنها في الأساس مجرد ميزة خاصة
5:23البيئة حيث يمكننا ، كما تعلم ، تشغيل وتنفيذ كود Python الخاص بنا. وسوف ، كما تعلم ، في الأساس ، مثل إخبارنا عن مستوى أدائنا. إذا كنا ، كما تعلمون ، إذا كتبنا شيئًا خاطئًا ،
5:32أو لدينا أخطاء ، ستوجهنا نوعًا ما في الاتجاه الصحيح لما يتعين علينا القيام به لإصلاح ذلك
5:36أشياء. لذلك في هذه الدورة ، سنستخدم IDE. وأحد المفضلين لدي ، وواحد من يُطلق على IDEs الأكثر شيوعًا في Python سحر الفطيرة. لذلك أنا هنا على هذا الموقع ، إنه يسمى
5:47jetbrains.com سحر فطيرة مائل إلى الأمام. وهذا هو IDE الذي سنستخدمه في هذا دورة. لذا سأحضر هنا وأضغط على زر التنزيل الكبير الآن. وسنذهب
5:58إلى الأمام وتحميل برنامج سحر الفطيرة هذا. حسنًا ، سأحضر هذه الصفحة هنا. يمكنك ان ترى هناك نسختان من سحر الفطيرة. أحدهما إصدار احترافي ، وهو مثل الإصدار المدفوع ،
6:08لذلك عليك أن تدفع ثمنها. ولكن بعد ذلك هناك نسخة المجتمع هذه هنا ، وهذا مجاني ومفتوح المصدر. لذلك سأقوم بتنزيل هذا. ويجب أن يحتوي هذا على كل ما نحتاجه
6:16للبدء في استخدام بايثون. حسنًا ، عند انتهاء التنزيل ، سأقوم بسحب ذلك حتى في مجلد التنزيلات الخاصة بي. ومرة أخرى ، يمكننا نوعًا ما تشغيل هذا الرجل. وأنا على جهاز Mac. لذلك أنا
6:28سأضطر إلى سحبه إلى مجلد التطبيقات الخاصة بي. حسنًا ، لدينا الآن سحر فطيرة. و نحن تثبيت Python ثلاثة على جهاز الكمبيوتر الخاص بنا. لذلك نحن جاهزون لبدء البرمجة في بايثون.
6:39وهذا البرنامج التعليمي ، سننشئ أول برنامج بايثون. وسنكون قادرين على الجري ونرى كيف يعمل كل شيء. أول شيء أريد القيام به هو فتح سحر الفطيرة. حتى كان سحر فطيرة
Setup & Hello World
6:54IDE ، بيئة التطوير المتكاملة التي قمنا بتنزيلها في البرنامج التعليمي الأخير. لذلك أنا فقط المضي قدمًا والبحث عنه على جهاز الكمبيوتر الخاص بي. ويمكنني فقط فتحه. وعندما نحن
7:05أولاً ، يجب أن نحصل على سحر فطيرة مفتوح ، يجب أن نحصل على نافذة تطالبنا بإنشاء مشروع. لذا
7:10يمكنك أن ترى ذلك في الأسفل هنا. في الواقع ، أول شيء أريد القيام به هو المجيء إلى هنا من أجل تهيئة. وسأضغط فقط على التفضيلات. وأريد بالفعل تغيير المظهر. لذا
7:23سوف أمضي قدمًا وأعطي هذا الموضوع. لذلك ذهبت للتو إلى هنا لأبدو وأتصرف ، مظهر. وسأقوم بتغيير المظهر إلى الظلام. فقط لأنني أعتقد أنه قليل
7:32أسهل في الاستخدام والنظر. لكن ليس عليك القيام بذلك إذا كنت لا تريد ذلك. وهكذا في الأسفل هنا ، سأقوم فقط بالنقر فوق إنشاء مشروع جديد. وسوف تعطينا هذه النافذة الصغيرة هنا.
7:43لذا يمكنني فقط تسمية مشروعي. وسأقوم فقط بتسمية هذه المسودة. ثم هناك هذا الآخر الخيار هنا حيث يقول مترجم. الآن ، ما نريد تحديده هو الإصدار الثالث من Python.
7:57لذا إذا نقرت هنا ، ستلاحظ أن هناك عدة خيارات مختلفة. لذلك أنا على جهاز Mac حاسوب. وبشكل افتراضي ، يحتوي Mac على إصدار Python الثاني مثبتًا عليه. إذا كنت تستخدم جهاز يعمل بنظام Windows ،
8:09لست متأكدًا مما إذا كان الأمر كذلك. لكن في هذا البرنامج التعليمي ، سنستخدم بايثون ثلاثة. لذلك تريد للتأكد من اختيار بايثون ثلاثة كمترجم. خلاف ذلك ، قد لا تكون كذلك
8:20قادرًا على المتابعة الكاملة مع ما نفعله في هذا الفيديو. لذا الآن سأقوم بالنزول
8:24هنا وانقر فوق إنشاء. وهذا سوف يمضي قدمًا ويخلق مشروعنا لنا. حسنًا، الآن لدينا مشروع Python قيد التشغيل. وأريد أن أريكم يا رفاق كيف يمكننا إنشاء
8:35أول برنامج بايثون. إذن هنا في مجلد المسودة هذا ، وهذا هو المشروع الذي نحن عليه تم إنشاؤه ، سأقوم فقط بالنقر بزر الماوس الأيمن وسأقول جديدًا. وسوف أنزل و
8:46انقر فوق ملف Python. لذلك نريد إنشاء ملف Python جديد ، سيكون هذا أول برنامج Python لدينا.
8:52ويمكنني فقط تسمية هذا. فلماذا لا نسمي هذا التطبيق فقط؟ وسأقوم فقط بالنقر
8:56تمام. حسنًا ، لدينا الآن أول ملف بايثون مفتوح. ويمكننا فقط البدء في كتابة بعضها بايثون. لذلك أريد أن أريكم يا رفاق مجرد برنامج بايثون أساسي للغاية. وهذا سيكون فقط
9:08برنامج hello world. لذلك سنقوم فقط بطباعة شيء ما على الشاشة. إذن ما أنا
9:12أريد أن أفعل هو أريد أن أكتب طباعة طباعة. وأريد كتابة أقواس مفتوحة ومغلقة. الآن داخل هذا القوسين ، يمكننا عمل بعض علامات الاقتباس. وداخل الاقتباس
9:24علامات ، سأقوم فقط بكتابة hello world. لذلك هذا مثل برنامج بايثون أساسي للغاية. و ما سيفعله هذا هو أنه سيطبع hello world على الشاشة. وهكذا الآن
9:35ما يمكنني فعله هو أنه يمكنني تشغيل هذا الملف فعلاً ونحصل في الواقع على خطأ بسيط هنا.
9:39يريدنا إنشاء سطر جديد في نهاية الملف. والآن من أجل تشغيل بايثون الخاص بنا البرنامج ، سأصعد هنا إلى القمة. وسأقوم فقط بالنقر فوق تشغيل. وسنقوم
9:49انقر فوق زر التشغيل هذا هنا. والآن سنرى ما سيحدث. لذا فهي تسألني ماذا أريد يهرب. يمكنني فقط النقر فوق التطبيق. وهنا في الأسفل ، ستلاحظ أن لدينا هذا النص
10:00التي تم طباعتها للتو مرحبًا بالعالم. وهكذا أياً كان ما أطبعه ، أو أي شيء أضعه بالداخل ستتم طباعة بيان الطباعة هذا في الأسفل في وحدة التحكم. طالما أنك
10:10لجعل بيان الطباعة هذا يعمل ، فقد كتبت بالفعل برنامج Python الأول الخاص بك. و مع تقدمنا في الدورة التدريبية ، سنقوم بكتابة جميع أنواع Python الرائعة البرامج. وسنقوم بكل أنواع الأشياء الرائعة.
Drawing a Shape
10:26في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم حول كتابة برنامج بايثون أساسي. لذلك نحن ذاهبون إلى اكتب فقط برنامج بايثون بسيط للغاية. سننظر في كيفية المضي قدمًا والكتابة
10:35برامجنا ، سوف نتحدث عن كيفية تنفيذ بايثون لبرامجنا. وسنقوم أيضًا برسم شكل صغير على الشاشة. لذلك هذا سيكون جميلاً رائع. أنا متحمس للتحدث إليكم يا رفاق حول أساسيات بايثون فقط ، وهي حقًا نوعًا ما
10:50اعطيكم مقدمة. لذا هنا ، لدينا محرر النصوص الأساسي الخاص بنا. وهكذا فإن أيًا من كود بايثون التي أكتبها داخل هذا الملف سيتم تنفيذها بالفعل بواسطة Python. إذن ملف Python هذا
11:04يحتوي على مجموعة من كود Python بداخله. وبشكل أساسي ما نفعله عندما نبرمج في بايثون نحن فقط نعطي الكمبيوتر مجموعة من التعليمات. حسنًا ، هذا حقًا ما
11:14البرمجة ، كما لو أننا نحدد مجموعة من التعليمات. والكمبيوتر يعمل للانطلاق وتنفيذ تلك التعليمات التي نقدمها له. وبالتالي كلما كانت التعليمات أكثر تعقيدًا
11:24نعطي الكمبيوتر ، كلما زادت تعقيد المهام التي يمكن أن يقوم بها الكمبيوتر. لذلك أريد أن
11:30أظهر لكم يا رفاق كيف يمكننا استخدام بعض تعليمات بايثون أو بعض كود بايثون لرسم شكل على الشاشة. لذلك سأقوم برسم مثلث صغير. إذن هنا ، يمكننا فعلاً
11:42اطبع شيئًا ما على الشاشة وبايثون باستخدام شيء يسمى تعليمات الطباعة. لذلك يمكنني
11:47فقط اكتب الطباعة. وداخل هذه الأقواس ، يمكنني فقط كتابة بعض علامات الاقتباس والداخل علامات الاقتباس ، يمكننا وضع ما نريد طباعته على الشاشة. لذلك أنا ذاهب إلى
11:58انسخ هذا وسأقوم في الواقع بعمل عدد قليل من هذه العبارات المطبوعة الصغيرة. ونحن ذاهبون
12:03لرسم شكل فعليًا. لذلك سنقوم برسم مثل شكل من نوع المثلث. لذلك في الأسفل هنا ، أنا فقط سنقوم برسم شرطة مائلة للأمام. ثم هنا ، سأخصص مسافة وسنقوم بعمل شرطة مائلة أخرى للأمام.
12:14هنا ، سنقوم بعمل مسافتين ، وسنقوم بعمل شرطة مائلة أخرى للأمام. وهنا ، سنقوم بذلك ثلاث مسافات وشرطة مائلة للأمام. والآن سأقوم برسم مثل الأشرطة العمودية على طول الطريق.
12:27وفي الواقع ، يمكننا عمل بعض الشرطات السفلية هنا أيضًا. سيكون هذا نوعًا ما رائعًا.
12:30حسنًا ، الآن لدينا شكل المثلث الخاص بنا ويمكنك أن ترى أنه يشبه نوعًا ما مثلث قائم. لذا يمكنني حفظ ملفي. ويمكنني إما القدوم إلى هنا للتشغيل والنقر فوق تشغيل التطبيق.
12:43أو إذا كنت تستخدم PyCharm ، يمكنك أيضًا القدوم إلى هنا والنقر فوق زر التشغيل هذا.
12:47وعندما أنقر على زر التشغيل ، أريدك أن تلاحظ ما يحدث هنا. لذا هنا بالأسفل ،
12:52لدينا هذه النافذة الصغيرة وهذا ما يسمى وحدة التحكم. وبشكل أساسي ، فإن وحدة التحكم هي مجرد ملف المكان الذي ستخرج فيه Python بعض المعلومات. لذلك عندما نستخدم بيان الطباعة هذا ،
13:03نحن نخبر Python بشكل أساسي مثل ، مرحبًا ، هل يمكنك طباعة شيء ما على وحدة التحكم؟ لذلك هناك الكثير من المواقف التي نريد أن نرى فيها ما يحدث في التعليمات البرمجية الخاصة بنا. ويمكننا استخدامها
13:13أن طباعة البيان وطباعة الأشياء إلى وحدة التحكم. ويمكننا في الأساس أن نحب الحصول على القليل
13:18نافذة على ما يفعله برنامجنا. في حالتنا ، سنقوم فقط بطباعة هذا مثلث على وحدة التحكم. لذلك سوف آتي إلى هنا وانقر فوق زر التشغيل هذا. وسوف تفعل
13:27انظر بالأسفل هنا ، نحن بالفعل نطبع هذا المثلث. حتى تم إنجاز المهمة ، تمكنا من ذلك
13:33اطبع شكلنا. لذلك يمكنني حقًا رسم أي شكل أريده طالما كنت قادرًا على تحديده داخل هذه البيانات المطبوعة. إذن ، ما تفعله بايثون عندما أنقر على زر التشغيل هذا ،
13:44هو الدخول في هذا الملف وهو يبحث في كل هذه التعليمات بالترتيب. لذا فإن الأول الشيء الذي يفعله هو أنه يذهب إلى هذه التعليمات ، ويقول ، حسنًا ، يريدون مني استخلاص هذه
13:54مثل الشرطة المائلة للأمام في هذا الشريط العمودي على الشاشة. بمجرد أن تفعل ذلك ، تنخفض وفقًا لهذه التعليمات ، تقول ، حسنًا ، يريدون مني طباعة شيء ما مرة أخرى. عندما تطبع ذلك
14:03تنخفض إلى هذه التعليمات ، وما إلى ذلك. لذا فإن بايثون ستنفذ سطور الكود الذي نكتبه بالترتيب. لذا فإن الترتيب الذي أكتب به التعليمات مهم للغاية. وذلك ل
14:16على سبيل المثال ، إذا كنت سأأخذ هذا السطر الأخير هنا ، وأضعه هنا في الأعلى. الآن عندما أحفظ الملف ،
14:23بدلاً من مجرد رسم هذا المثلث ، فإنه سيرسم هذا القاع الصغير المقلوب لأسفل في الجزء العلوي ، ثم باقي المثلث بالأسفل هنا. إذن ترتيب التعليمات
14:34في الواقع يهم كثيرًا. إذن هذه هي الطريقة التي ستذهب بها برامج بايثون الخاصة بك. ونحن نمضي من خلال هذه الدورة ، سنتعلم المزيد والمزيد من هذه الأسطر الصغيرة. لذلك نحن هنا
14:44فقط باستخدام وظيفة الطباعة الصغيرة هذه ، فهي تطبع شيئًا ما على الشاشة. هناك مجموعة من الأشياء الصغيرة مثل هذه التي يمكننا تعلمها أثناء تقدمنا ، سنتعلم المزيد والمزيد
14:53التعليمات التي يمكننا تقديمها للكمبيوتر. لكن في هذا الدرس ، أريد فقط أن أريكم نوعًا ما يا رفاق الأساسيات ، أليس كذلك؟ يمكننا في الأساس تحديد هذه التعليمات الصغيرة لجهاز الكمبيوتر ،
15:04وسيقوم الكمبيوتر بتنفيذها بالترتيب. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن باستخدام المتغيرات في بايثون. الآن في Python ، ستتعامل مع الكثير من البيانات. كثيرا
Variables & Data Types
15:19من المرات في برنامجنا ، سنعمل مع جميع أنواع المعلومات والبيانات والقيم.
15:25وأحيانًا يكون من الصعب إدارة هذه البيانات. لذلك في بايثون ، لدينا هذا الشيء المسمى بالمتغير. وهي في الأساس مجرد حاوية ، حيث يمكننا تخزين قيم بيانات معينة. وعندما نستخدم ملف
15:38متغير ، عندما نضع قيم البيانات هذه داخل الحاويات ، فإنه يسهل علينا كثيرًا القيام بذلك
15:44العمل مع وإدارة جميع البيانات المختلفة داخل برامجنا. لذا فإن المتغيرات بالغة الأهمية متعاون. وهو يشبه إلى حد ما موضوعًا أساسيًا في بايثون ستريد معرفته حقًا
15:55في الماجستير. لذلك في هذا البرنامج التعليمي ، سأعلمكم يا رفاق كل ما تحتاجون إلى معرفته للبدء
16:00باستخدام المتغيرات ، سنلقي نظرة على ماهيتها ، ولماذا هي مفيدة ، وسنلقي نظرة على أنواع مختلفة من المتغيرات وأنواع مختلفة من البيانات التي يمكننا تخزينها داخل المتغيرات.
16:09لكن هنا في ملف Python الخاص بي ، لدي برنامج بسيط للغاية. وهي في الأساس عادلة طباعة بعض النصوص على الشاشة. وهذه في الواقع قصة صغيرة كتبتها. هو - هي
16:20يقول إنه كان هناك رجل يدعى جورج ، كان عمره 70 عامًا. لقد أحب حقًا اسم جورج ، لكن لم يعجبك أن تكون 70. لذلك هذا برنامج Python صالح. يمكنني المضي قدما وتشغيل هذا البرنامج.
16:33وسترى هنا في وحدة التحكم ، كل شيء يتم طباعته ويبدو رائعًا. لذا لدينا برنامج Python صغير رائع هنا. لكن دعنا نقول ذلك داخل قصتنا ، أردت
16:43لتغيير اسم الشخصية. لذا بدلاً من تسمية الشخصية جورج ، لنفترض أنني أردت
16:48لتسمية الشخصية جون. حسنًا ، سأضطر إلى المرور وسأضطر إلى القيام بذلك يدويًا قم بتغيير اسم جورج إلى اسم جون في كل مكان داخل هذه القصة حيث تم ذكره.
16:59لذا سأضطر للذهاب إلى هنا وسأقول ، حسنًا ، جون ، سأضطر إلى ذلك يدويًا تغيير ذلك. وبعد ذلك ، حسنًا ، هنا في الأسفل ، علينا مرة أخرى ، كتابة John و يدويًا
17:08قم بتغييره إلى جون. لذلك من أجل تغيير اسم الشخصية ، كان علي أن أدخل و قم بتغييره في كلا المكانين. والآن دعنا نقول ، حسنًا ، ربما نريد تغيير عمر اسم الشخصية
17:20أيضًا. لذا بالإضافة إلى تغيير الاسم ، نريد أيضًا تغيير العمر ، فلنقم بذلك
17:24أصغر منهم بقليل. فلماذا لا نقول إن جون سيكون في الخامسة والثلاثين. وهكذا سترى هنا ، اضطررت إلى المجيء إلى هنا وتغيير العمر يدويًا ثم النزول إلى هنا وتغييره يدويًا
17:36مرة أخرى. يمين. والآن بعد أن قمنا بتغييرها ، كما لو أنها ستعمل ، سيتم تحديثها في برنامجنا. لكن ستلاحظ أنه من أجل إجراء هذا التغيير ، كان علي أن أنظر من خلال ملف
17:45البرنامج بأكمله ، ابحث عنها حيث كانت تلك القيمة وقم بتغييرها. وكان هذا مع أربعة أسطر فقط من القصة. تخيل لو كانت لدي قصة تشبه آلاف السطور. وقد ذكرنا ال
17:58اسم الشخصية وعمرها ، مثل مئات المرات. أعني ، يجب أن أنظر من خلال كل واحد من هؤلاء سطور وتغيير اسم الشخصية يدويًا. وهذه ليست طريقة جيدة جدًا بالنسبة لنا للقيام بذلك.
18:09وهي في الحقيقة ليست طريقة جيدة بالنسبة لنا لإدارة البيانات في برنامجنا ، صحيح ، الشخصية
18:14الاسم والعمر. وهكذا يمكننا بالفعل استخدام متغير لتخزين اسم الشخصية وعمر الشخصية. وعندما نستخدم هذا المتغير ، فسوف يسهل علينا ذلك كثيرًا
18:25ضع اسم الشخصية وعمرها داخل برنامجنا الصغير هنا. لذا سأريكم يا رفاق كيف يمكننا إنشاء متغير لاسم الشخصية وعمرها. وسأصعد هنا فوق بيان الطباعة هذا. وهنا ، أريد إنشاء متغير. لذلك عندما نقوم بإنشاء متغير
18:42في بايثون ، نحتاج في الواقع إلى إعطاء بايثون بعض المعلومات. القطعة الأولى من المعلومات التي نحتاجها لإعطاء بايثون هي اسم المتغير. لذلك أنا بحاجة إلى تحديد اسم بالفعل
18:54إلى هذه الحاوية حيث سنقوم بتخزين المعلومات. ولذا كل ما علي فعله هو الكتابة فقط
18:59اسم المتغير الذي أريد تكوينه. لذلك سأقوم بإنشاء متغير يسمى اسم الشخصية. لذلك سأقول الشخصية فقط. وسأقول اسم شرطة سفلية. و حينئذ
19:10بشكل عام ، عندما تقوم بإنشاء اسم لمتغير في Python ، فأنت تريد الفصل بشكل مختلف
19:16كلمات بشرطة سفلية. لدي كلمتين هنا ، وأنا أفصل بينهما بشرطة سفلية. والآن ما علي فعله هو وضع قيمة داخل هذا المتغير. لذلك في الأساس ،
19:27ما يمكنني فعله هو أنني أستطيع فقط أن أقول يساوي ، وهنا يمكنني كتابة قيمة. لذلك سأكتب فقط خارج اسم الشخصية داخل علامات الاقتباس. لذا سنكتب جون فقط.
19:38إذن لدينا الآن متغير لاسم الشخصية. وتحت متغير اسم الحرف هذا ، أريد إنشاء متغير آخر يسمى عمر الشخصية. لذلك سنقوم فقط بكتابة الشخصية السن السفلية. وسأجعل هذا مساويًا لعمر الشخصية ، وهو 35 عامًا.
19:58إذن لدينا الآن متغيرين ، أحدهما يمثل اسم الشخصية والآخر يمثل عمر الشخصية. لذا ما يمكنني فعله الآن هو أنه يمكنني استبدال اسم الشخصية داخل القصة
20:08مع هذا المتغير. وسأريكم يا رفاق كيفية القيام بذلك. لذلك إذا أردنا وضع متغير داخل هذا البيان المطبوع ، سأفعل شيئين. الشيء الأول سأقوم بإنهاء هذا النص هنا. لذلك سأضطر إلى وضع علامات اقتباس
20:25هنا في النهاية. ويمكنك أن ترى أنني أقوم أساسًا بلف هذا الأمر برمته في مقطع واحد مثل مقتبس
20:31خط. والآن لدي هذا النص هنا في النهاية. لذلك سأضطر إلى وضع اقتباس ضع علامة هنا. لدي الآن مجموعة من النصوص بين علامتي اقتباس. وبعد ذلك لدي أيضًا نص
20:42هنا في علامات الاقتباس. الآن بالداخل من هنا ، بدلاً من قول اسم الشخصية ، أريد أن أشير إلى متغير اسم الحرف هذا. لذلك سأقول فقط اسم الشرطة السفلية للحرف الإضافي.
20:57وأريد أن أقول علامة زائد أخرى. لذلك أقول أنني أريد طباعة كل هذا النص ،
21:03بالإضافة إلى القيمة المخزنة داخل اسم الشخصية ، بالإضافة إلى كل هذا النص. وماذا هذا do هو في الواقع طباعة اسم الشخصية. نحن نطبع هذا. لذلك سأستمر في الجري
21:15هذا البرنامج. وسترى هنا بالأسفل ، واسمحوا لي أن أضع مساحة هنا. وسنقوم بتشغيله مرة أخرى. يمكنك أن ترى هنا ، ما زلنا نطبع هناك ذات مرة كان هناك رجل اسمه جون.
21:27ولذا فإن ما تفعله بايثون هو عندما تنفذ هذا السطر من التعليمات البرمجية ، فإنها تأتي هنا وهي
21:32رؤية ، حسنًا ، يريدون طباعة القيمة داخل اسم الشخصية. لذلك فإن بايثون تسير للصعود هنا ، ستحصل على القيمة. وسيقوم بإدخاله بالداخل من هناك. لذلك يمكنني
21:44قم بهذا بشكل أساسي لكل مثيل لاسم الحرف في ملفي. لذلك يمكنني ، كما تعلمون ، سوف أقوم بنسخ هذا الرجل هنا. ويمكنني لصقها هنا حيث يوجد اسم الشخصية.
21:55لذلك سوف ألصق هذا. ويمكنك أن ترى الآن أننا نفعل نفس الشيء بالضبط الذي فعلناه هناك.
22:01يمكنني أيضًا القيام بذلك بالنسبة لعمر الشخصية. لذلك سوف آتي إلى هنا وسأقوم بلصق ما نقوم بلصقه فقط. وسأغير هذا بدلاً من اسم الشخصية ، وسنقوم بتغييره إلى حرف
22:12عمر. وسأقوم بذلك في مكان آخر. لذلك سنقوم بهذا هنا حيث نحن بذكر العمر. ومرة أخرى ، سأغير هذا إلى عمر الشخصية. والآن عندما أقوم بتشغيل هذا سيطبع نفس القصة التي كنا نطبعها من قبل. لكنني الآن لا أفعل
22:30فعليًا أن تكتب اسم الشخصية وعمر الشخصية. يمكنني فقط الإشارة إلى هذا عامل. والشيء الرائع في المتغيرات هو أنني أردت تغيير اسم الشخصية ،
22:41الآن كل ما علي فعله هو تغييره هنا. لذلك يمكنني تغيير اسم الشخصية إلى مثل توم أو شيء ما. ويمكننا أيضًا تغيير أعمارهم. لذلك يمكنني تغيير العمر إلى 50 عامًا.
22:51والآن سيتم تحديث ذلك تلقائيًا طوال قصتنا بأكملها. لذلك عندما أنقر فوق هذا زر التشغيل ، سترى الآن أننا نستخدم اسم توم. ويبلغ من العمر 50 عامًا. لذلك هذا هو المكان الذي المتغيرات
23:03يمكن أن تكون في متناول يدي. ويمكن أن تكون هذه طريقة رائعة حقًا للتحكم في البيانات الموجودة بالداخل وإدارتها
23:10من برامجنا. باستخدام المتغيرات ، يمكنك أيضًا تعديل قيمها. على سبيل المثال ، دعنا نقول ذلك في منتصف القصة ، أردت تغيير اسم الشخصية. حسنًا ، يمكنني صنع بعض الجديد
23:20خطوط هنا. وهنا في الأسفل ، يمكنني إسناد قيمة جديدة لأحد هذه المتغيرات. لذلك يمكنني أن أقول مثل حرف تسطير أسفل الاسم. ومن أجل منحها قيمة مختلفة ،
23:33كل ما علي فعله هو قول يساوي ، وسنمنحه قيمة مختلفة. لذلك دعنا نقول في منتصف الطريق من خلال القصة ، نريد تغيير اسم الشخصية إلى مايك. حسنًا ، الآن عندما أعمل على برنامجي ،
23:44سترى هنا في الجزء الأول من القصة ، حيث تقول إنه كان هناك رجل اسمه توم. و في
23:49الجزء الثاني من القصة يشير إلى الاسم باسم مايك. لذلك قمت بالفعل بتحديث ملف متغير داخل برنامجي هنا. وهذه طريقة رائعة حقًا. كما تعلم ، في كثير من الأحيان
24:01في هذه البرامج ، سترغب في تعديل قيم المتغيرات. لذلك يمكنك أن تفعل فقط من هذا القبيل. أخيرًا ، أود أن أتحدث إليكم يا رفاق عن الأنواع المختلفة من البيانات التي نقدمها
24:11يمكن تخزين داخل هذه المتغيرات. هنا ، لدي اسم الشخصية وعمر الشخصية. وأنا في الواقع أقوم بتخزين ما يسمى بالخيوط. لذا فإن السلسلة هي في الأساس مجرد نص عادي ،
24:25يمين؟ اسم توم ، هذا مجرد نص عادي. هنا في الأسفل ، هؤلاء الرجال هم خيوط أيضًا. لذا هناك نوع بيانات في Python يسمى سلسلة ، وهو في الأساس يخزن نصًا عاديًا. لذا،
24:39كما تعلم ، أي نص تريده في قصة ، أو اسم شخص ما ، يمكنك تخزينه داخل سلسلة. هناك أيضًا نوع آخر من البيانات يمكننا تخزينه داخل Python ،
24:49وهي أرقام. لذلك بالإضافة إلى تخزين النص ، يمكننا أيضًا تخزين الأرقام. لذلك إذا أردت التخزين
24:55رقم ، على سبيل المثال ، لنفترض أننا نريد تخزين عمر الحرف بدلاً من داخل سلسلة ، يمكننا تخزينه داخل رقم. لذا يمكنني كتابة 50. وعندما نقوم بتخزين رقم ،
25:07لا نحتاج إلى علامات الاقتباس هذه ، فأنت تحتاج فقط إلى علامة الاقتباس عندما تقوم بتخزين ملف
25:12خيط. لذا إذا أردت تخزين رقم ، يمكنني كتابته على هذا النحو. بالإضافة إلى باستخدام الأعداد الصحيحة ، يمكنني أيضًا استخدام الأعداد العشرية. لذلك يمكنني أن أقول مثل 50.5678213. و
25:24ستكون بايثون قادرة على تخزين هذا الرقم أيضًا. حتى تتمكن من تخزين جميع أنواع ملفات
25:29أعداد. ويمكننا أيضًا تخزين ما يسمى بالقيمة المنطقية. والقيمة المنطقية هي أساسًا قيمة صواب أو خطأ. وهناك الكثير من الأمثلة في البرمجة حيث سنذهب إليها
25:42تريد تمثيل بيانات صحيحة أو خاطئة. على سبيل المثال ، يمكن أن يكون لدي متغير يسمى like is mail. و هذا سيخبرني ما إذا كان شخص ما ذكرًا أم لا. وفي حالتي ، سيكون ذلك صحيحًا بسبب
25:54أنا شاب ، أليس كذلك؟ لذلك يمكنني في الواقع أن يكون هذا يحتاج إلى رأس مال. لذلك يمكنني نوعًا من القيمة لأي منهما
26:01صحيحة أو خاطئة. وفي الواقع ، إذا كنا نسمي هذا في بايثون ، فنحن نريد استخدام شرطة سفلية. لذا أنا سيقول هو البريد الإلكتروني. ويمكن أن يكون هذا إما صحيحًا أو خطأ. لذا فإن القيم الصحيحة أو الخاطئة هي
26:14ربما ليس شيئًا كنت معتادًا على التعامل معه كما هو الحال في العالم الحقيقي. لكن في البرمجة ،
26:19سنستخدم قيمًا صحيحة أو خاطئة طوال الوقت. إنها مهمة للغاية. هكذا مثلي قال ، هناك ثلاثة أنواع أساسية من البيانات يمكننا العمل بها في بايثون. هناك خيوط ،
26:30والتي تشبه أرقام النص العادي ، والتي قد تكون مثل الأرقام العشرية أو الصحيحة أرقام مثل هذا. وهناك قيم صحيحة أو خاطئة. وهذه هي الأنواع الأساسية من البيانات. أعني،
26:41هناك مجموعة من الأنواع الأخرى من البيانات التي يمكننا استخدامها. لكنني أقول 99٪ من الوقت على أنه جديد مستخدم ومبرمج جديد لبايثون ، ستتعامل فقط مع هذه الأنواع الثلاثة من البيانات.
26:52هذه هي أساسيات البيانات وأيضًا مع المتغيرات. وأنت ستستخدم المتغيرات طوال الوقت في بايثون. لذلك أنت بالتأكيد تريد التدرب عليها والراحة في استخدامها.
Working With Strings
27:06في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق حول استخدام السلاسل في بايثون. الآن واحد من
27:12أكثر أنواع البيانات شيوعًا التي سنعمل معها في بايثون هي السلاسل. والسلاسل هي في الأساس مجرد نص عادي. أي نص نريد أن يكون داخل برنامجنا ،
27:23يمكننا تخزين داخل سلسلة. لذلك أريد أن أتحدث إليكم يا رفاق عن كل الأشياء الرائعة التي يمكننا القيام بها
27:28مع الاوتار. وسنحصل بشكل أساسي على مقدمة كاملة عن سبب وجود السلاسل مذهل. لذا هنا ، سأقوم بالفعل بطباعة سلسلة. لذلك سأقول فقط طباعة
27:39وداخل هذه الأقواس ، يمكنني كتابة سلسلة. من أجل إنشاء سلسلة ، أحتاج إلى ذلك استخدم علامات الاقتباس. لذلك يمكنني عمل علامات اقتباس مفتوحة ومغلقة من هذا القبيل. الآن بالداخل
27:50من علامة الاقتباس ، يمكنني وضع أي نص أريد أن تحتويه السلسلة. لذلك يمكننا أن نقول مثل ،
27:56مشروع أكاديمية. والآن لدينا سلسلة بها نص مسودة أكاديمية بداخلها. لذلك إذا ركضت برنامجي ، الآن هنا بالأسفل ، سنقوم بطباعة مسودة الأكاديمية ، كما ترون. وعندما يكون لدينا
28:08هذه الأوتار ، هناك في الواقع مجموعة من الأشياء الرائعة التي يمكننا فعلها بها. لذلك هناك شيء واحد
28:12يمكن أن يكون إنشاء سطر جديد داخل السلسلة. لذا إذا أردت ذلك ، يمكنني المجيء إلى هنا ، ويمكنني أن أقول شرطة مائلة عكسية n. ويمكنك أن ترى أنه تم تمييزه بلون مختلف. وما هذا
28:24ستقوم بإدخال سطر جديد في السلسلة. حتى الآن سيقول مشروع على سطر واحد والأكاديمية على سطر آخر. لذا سأقوم بالنقر فوق تشغيل. وسترى أسفل
28:35هنا ، لدينا مشروع أكاديمية. بالإضافة إلى الشرطة المائلة للخلف n ، يمكنني أيضًا استخدام الشرطة المائلة للخلف
28:42علامة اقتباس. لذلك إذا أردت وضع علامة اقتباس داخل خيطي ، فلا يمكنني وضع علامة علامة اقتباس من هذا القبيل ، لأن بايثون ستعتقد أنني أحاول إنهاء هذه السلسلة. حتى إذا
28:53أريد تضمين علامة اقتباس ، يمكنني فقط استخدام حرف الخط المائل العكسي الخاص. وذاك
28:58تسمى حرف الهروب. وهي تخبر بايثون بشكل أساسي أن أي شخصية تأتي بعد ذلك ، نريد أن نجعل حرفيا. لذلك عندما أقول علامة اقتباس مائلة للخلف ، فهذا يعني في الأساس
29:10مثل ، يا بايثون ، أريد طباعة علامة اقتباس. والآن سنتمكن من طباعة ملف علامة الاقتباس هناك. يمكنني أيضًا استخدام هذا لطباعة شرطة مائلة للخلف. لذلك إذا كنت بحاجة إلى الطباعة
29:19بشرطة مائلة للخلف ، يمكنني أن أقول شرطة مائلة للخلف. وستقوم الآن بطباعة شرطة مائلة للخلف عادية. لذا يمكنك ذلك
29:26انظر فقط من هذا القبيل. لذلك ، إذا كنت تريد ، يمكنك استخدام هذا الخط المائل العكسي لإنشاء أسطر جديدة أو طباعتها
29:30علامات الاقتباس ، أو يمكنك استخدامها فقط كشرطة مائلة للخلف. بالإضافة إلى مجرد كتابة سلسلة هنا ، يمكنني أيضًا إنشاء متغير سلسلة. لذلك يمكنني القدوم إلى هنا هنا ، ويمكننا أن نخلق
29:42متغير وسنسميها عبارة فقط. وسأجعلها مساوية لمشروع الأكاديمية. لذلك يمكنني تخزين قيمة السلسلة هذه داخل متغير يسمى العبارة. وبعد ذلك عندما أريد طباعة ذلك
29:55متغير ، أو أريد الوصول إلى متغير السلسلة ، يمكنني فقط كتابة اسم المتغير. و
30:02سترى أنه سيطبع القيمة التي تم تخزينها بداخله. يمكنني أيضًا استخدام ملفات شيء يسمى التسلسل. والتسلسل هو في الأساس عملية أخذ سلسلة و
30:13إلحاق سلسلة أخرى به. لذلك يمكنني المجيء إلى هنا ويمكنني أن أقول عبارة ، ويمكنني أن أقول
30:18زائد. والآن يمكنني إضافة سلسلة أخرى. لذلك يمكنني القول ، إنه رائع. والآن هذا سيقول مشروع أكاديمية رائع. لذلك أقوم بإلحاق سلسلة أخرى بسلسلة أخرى ، يسمونها ذلك
30:32سلسلة. بالإضافة إلى القيام بكل تلك الأشياء ، يمكننا أيضًا استخدام أشياء خاصة تسمى المهام. والوظيفة هي في الأساس مجرد كتلة صغيرة من التعليمات البرمجية التي يمكننا تشغيلها. وسوف
30:44إجراء عملية محددة لنا. لذا يمكننا استخدام الدوال لتعديل سلاسلنا. ويمكننا تستخدم أيضًا الدوال للحصول على معلومات حول سلاسلنا. لذا سأريكم يا رفاق زوجين
30:57الوظائف الشائعة التي يمكننا استخدامها مع هذه السلاسل. وهم في الواقع سيفعلون أشياء رائعة. لذا من أجل الوصول إلى إحدى هذه الوظائف ، يمكنني فقط أن أقول عبارة ، وبعد ذلك يمكنني أن أقول نقطة. و انا
31:07سنريكم يا رفاق وظيفة يمكننا استخدامها لتحويل هذه السلسلة بالكامل إلى أحرف صغيرة. لذا يمكنني أن أقول عبارة أقل نقطة. وسأريد كتابة قوس فتح وإغلاق.
31:17وهذا سيأخذ هذه العبارة ، سوف يأخذ السلسلة الخاصة بي وسوف يحولها إلى أحرف صغيرة. وانت ايضا يمكننا أن نرى الآن لدينا فقط مسودة أكاديمية هنا ، لكنها مكتوبة بالكامل بأحرف صغيرة. يمكنني أيضا أن أفعل
31:27نفس الشيء بالنسبة للأحرف الكبيرة. لذلك يمكنني أن أقول عبارة نقطة عليا. وهذا سيحول السلسلة بأكملها إلى الأحرف الكبيرة. يمكنك أن ترى الآن أنها أحرف كبيرة تمامًا. وذلك بالإضافة إلى تحويل السلسلة
31:39إلى الأحرف الكبيرة والصغيرة ، يمكنني أيضًا التحقق لمعرفة ما إذا كانت السلسلة أحرف كبيرة بالكامل أم
31:45أحرف صغيرة تمامًا. على سبيل المثال ، يمكنني القول أن عبارة النقطة أعلى. وهذا سوف يعطيني إرجاع قيمة صواب أو خطأ. لذلك سيكون الأمر صحيحًا. إذا كانت السلسلة أحرف كبيرة بالكامل ،
31:56أو خطأ ، إذا لم يكن كذلك. ويمكنك أن ترى هنا ، أننا نحصل على قيمة خاطئة لأن هذا هو
32:02الأحرف الكبيرة. يمكنني أيضًا استخدام هذه الوظائف مع بعضها البعض. على سبيل المثال ، يمكنني أن أقول عبارة نقطة عليا ، ثم أقواس. وبعد ذلك ، يمكنني القول أن النقطة أعلى.
32:17والآن ما ستفعله هو أنها ستقوم بتشغيل هذه الوظيفة العليا ، وستقوم بتحويلها
32:22إلى الأحرف الكبيرة. وبعد ذلك سيتم تشغيل هذه الوظيفة العليا مباشرة بعد ذلك. وسترى الآن سنستعيد قيمة حقيقية لأنها ستحول كل شيء إلى أحرف كبيرة.
32:33يمكنك أن ترى الآن أننا نحصل على قيمة حقيقية. حتى تتمكن من استخدام هذه الوظائف واحدة تلو الأخرى ، يمكن أن يكون مفيدًا حقًا. وهناك عدد قليل من الأشياء الأخرى التي أريد أن أعرضها لكم. لذلك يمكننا أيضًا
32:43اعرف طول هذه الخيط. لذلك إذا أردت معرفة عدد الشخصيات داخل هذه السلسلة ، يمكنني أن أقول فقط LEN. وسأقوم بالفعل بعمل أقواس مفتوحة. وسأقوم بعمل أقواس مغلقة. لذلك أنا أقول بشكل أساسي LEN. وهذا شيء آخر
33:00وظيفة ، إنها دالة الطول. وداخل دالة LEN هذه ، أقوم بتمريرها بالفعل
33:06عبارة متغير ، فأنا أعطي دالة الطول هذه ، وسوف نبصق رقمًا. لذلك سيخبرني كم عدد الأحرف الموجودة داخل هذه السلسلة. وهكذا يمكنك أن ترى هنا نحصل على 15
33:16لأن هناك 15 حرفًا داخل مشروع أكاديمية. هذه هي الطريقة التي يمكننا بها الحصول على طول سلسلة. وسيكون هذا مفيدًا حقًا بينما نمضي قدمًا وبايثون ، يمكننا أيضًا الحصول عليها
33:26أحرف فردية داخل سلسلة. لذا تخيل لو أردت فقط الحصول على واحدة من هؤلاء الشخصيات ، مثل تخيل لو أردت معرفة الحرف الأول في هذه السلسلة ،
33:37يمكننا في الواقع استخدام قوس مربع مفتوح ومغلق ، تمامًا مثل هذا. وهنا أستطيع حدد فهرس الحرف الذي أريد التقاطه. لذلك إذا أردت الاستيلاء على الشخصية الأولى
33:49في هذه السلسلة ، يمكنني وضع صفر. لذا ، إذا قلت عبارة قوس مربع صفر ، فسيكون هذا ناتجًا عن ذلك لي تلك العاصمة G. ويمكنك أن ترى هنا ، هذا ما تتم طباعته. الآن أريد أن أشير
34:01شيء ما في بايثون ، عندما نعمل مع سلاسل ، يتم فهرسة سلسلة تبدأ بصفر. ستلاحظون أنه من أجل الوصول إلى G ، كان علي أن أضع صفرًا هنا. وهذا بسبب
34:14في Python ، عندما نستخدم الفهارس على سلسلة نصية ، نبدأ بصفر. لذلك إذا كانت بايثون تحسب امتداد أو أنها تقوم بفهرسة الأحرف في سلسلة ، فستبدأ بصفر. إذن كذلك
34:25سأقول أن G تساوي صفرًا ، وأنا واحد ، و r يساوي اثنين ، و a يساوي ثلاثة. إذن يمكننا القول إن G في الموضع صفر في السلسلة ، i في الموضع الأول ، r في الموضع الثاني ، a في الموضع الثالث ، إلخ. لذا نبدأ
34:39العد عند الصفر. لذا إذا أردت الوصول إلى الحرف الأول في السلسلة ، هذا الحرف G ، يجب أن أقول العبارة صفر ، وهذا مجرد شيء خاص في بايثون ، وفي الواقع معظم لغات البرمجة
34:53إفعل ذلك. لذلك سيبدأون بصفر. لذا على سبيل المثال ، إذا أردت الوصول إلى هذا ، فسأحصل عليه
34:59لوضع صفر 123. لذا إذا وضعت ثلاثة في الداخل ، فسنكون قادرين الآن على الوصول إلى ذلك أولاً ، كما ترون ، لدينا حق هنا. لذلك من المفيد حقًا أن تكون قادرًا على الحصول على ملف
35:14شخصية محددة داخل سلسلة ، وستستخدمها كثيرًا مع تقدمنا في Python ، هناك أيضًا وظيفة رائعة أخرى يمكننا استخدامها وتسمى الفهرس
35:24وظيفة. وما ستفعله وظيفة الفهرس هو أنها تخبرنا بمكان وجود حرف معين أو السلسلة تقع داخل السلسلة. لذلك يمكنني أن أقول عبارة مؤشر نقطة. ويمكنني في الواقع
35:38أعط هذا قيمة. لذلك في بعض الأحيان عندما نستخدم هذه الوظائف في Python ، يمكننا في الواقع منحها
35:44معلومة. لذا يمكنني إعطاء هذا قيمة. ويمكننا أن نسمي هذا المرور بالمعامل. لذلك أود أن قم باستدعاء القيمة التي سأعطيها لوظيفة معلمة ، وستسمع هذه الكلمة كثيرًا. وذلك ل
35:56على سبيل المثال ، يمكنني أن أقول من الداخل هنا رأس المال G. وسيعيد هذا الآن فهرس حرف G داخل السلسلة. إذن ، يجب أن تعطينا صفرًا لأن G عند صفر المؤشر.
36:10وسترى هنا أننا حصلنا على صفر لأنه حيث يوجد G. لذلك على سبيل المثال ، إذا وضعت ملف من الداخل هنا ، مثل حرف a صغير ، يجب أن يعطيني 0123 ، لأن هذا هو المكان الذي يوجد فيه الحرف الأول بداخله
36:23من هذه السلسلة. لذا يمكنني النقر فوق زر التشغيل. وسترى أنه يعطينا ثلاثة ، يمكنك أيضًا ضع الكلمات الفعلية هنا. على سبيل المثال ، يمكنني وضع مثل أكاديمية هنا ، أو حتى يمكنني وضعها
36:35مثل CA D. وهذا سيخبرني أين يبدأ هذا داخل خيطي. لذلك عندما أضغط اللعب ، سوف يعطيني ثمانية لأن الأكاديمية تبدأ هنا 012345678.
36:50إذا وضعت شيئًا هنا لم يكن موجودًا في السلسلة ، على سبيل المثال ، إذا وضعت حرف Z هنا ، هذا ليس موجودًا هنا ، سيؤدي في الواقع إلى حدوث خطأ. لذلك عندما ألعب هذا ، سترون أننا
37:00احصل على هذا الخطأ هنا لأن Z غير موجود داخل برنامجنا. إذن وظيفة الفهرس تلك ، مرة أخرى ، يمكن أن يكون مفيدًا حقًا. وسنستخدم ذلك كثيرًا. هناك أيضًا شيء آخر أريده
37:10تظهر لك ، وهو ما يسمى استبدال. لذلك يمكننا القول استبدال العبارة. وهنا ، يمكنني فعلاً إعطاء هذا للمعلمات. لذا يمكنني إعطاء دالة الاستبدال هذه للقيم التي يمكنها استخدامها. والأول
37:22الشيء الذي أريدك أن تقدمه هو ما أريد استبداله. على سبيل المثال ، يمكنني أن أقول مسودة.
37:28وبعد ذلك سأضع فاصلة هنا. وأريد أن أضع هنا ما أريد استبداله
37:33مشروع مع. لذلك يمكنني القول مثل الفيل. والآن بدلاً من قول مشروع أكاديمية ، هذا هو سنقوم بطباعة أكاديمية الفيل. لذا يمكنكم أن تروا هنا ، مكتوبًا فقط أكاديمية الفيل. لذا
37:44يمكن أن تكون وظيفة الاستبدال هذه رائعة حقًا لأنه يمكننا استبدال كلمات معينة أو حتى كلمات معينة
37:50أحرف داخل خيوطنا مع أخرى. هذه بعض الطرق الأساسية التي يمكننا من خلالها العمل بسلاسل داخل بايثون. وهناك الكثير من هذه الوظائف المختلفة التي يمكننا استخدامها معها
38:01سلاسل. هذه بعض أكثر الأشياء شيوعًا التي عرضتها عليك الآن. ولكن إذا كنت ما عليك سوى إجراء بحث على Google ، ويمكنك العثور على جميع أنواع وظائف Python التي يمكنك تجربتها واستخدامها و
38:10كما تعلم ، انظر ماذا يفعلون. لكنك بالتأكيد تريد أن تشعر بالراحة عند التعامل مع السلاسل في لغة بايثون ،
38:15لأنك ستعمل معهم كثيرًا. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم عن العمل مع الأرقام في بايثون. تعد الأرقام من أكثر أنواع البيانات شيوعًا في بايثون. وأي
Working With Numbers
38:31من المرجح أن يتعامل برنامج Python الذي تكتبه مع الأرقام في مرحلة ما. لذلك اريد للتحدث إليكم يا رفاق عن أساسيات استخدام الأرقام فقط ، سنتحدث عن
38:40أنواع مختلفة من الأرقام التي يمكننا تمثيلها في بايثون. وأريد أيضًا أن أريكم بعضًا منها وظائف رائعة يمكننا استخدامها مع الأرقام. لذلك يمكننا القيام ببعض العمليات الحسابية ،
38:50يمكننا القيام ببعض الأشياء الرائعة باستخدام الأرقام. سأريكم يا رفاق كل ذلك في هذا الفيديو ، سيكون ذلك رائعا. أول شيء يمكننا القيام به هو أنه يمكننا بالفعل طباعة رقم.
39:00لذا ، إذا كنت أرغب في كتابة رقم بلغة بايثون ، فهذا أمر سهل حقًا. أنا ببساطة أكتب الرقم. لذلك يمكنني القول مثل طباعة اثنين. وهذا سوف يطبع الرقم اثنين على الشاشة.
39:10لذا يمكنني استخدام عدد صحيح مثل هذا. يمكنني أيضًا استخدام رقم عشري. لذلك أستطيع أن أقول مثل
39:152.0987. وستكون بايثون على ما يرام مع ذلك. سنكون قادرين على طباعة ذلك تحت الشاشة كذلك. يمكنني أيضًا جعل الأرقام سالبة. لذا يمكنني أن أجعل هذا 2.0987 عددًا سالبًا. و
39:28سوف تكون Python قادرة على التعامل مع ذلك بشكل جيد أيضًا. وبايثون ، يمكننا أيضًا استخدام الحساب الأساسي. لذا يمكنني القيام بأشياء مثل الجمع والطرح الضرب. لذا يمكنني القول مثل ثلاثة زائد
39:41أربعة. والآن هذا سوف يطبع هذا. أو لماذا لا نقول مثل ثلاثة زائد 4.5. وهذا سوف تكون قادرة على طباعة الإجابة. فنحصل على 7.5. ويمكننا القيام بالجمع والطرح
39:53يمكننا إجراء القسمة أو الضرب أيضًا. لذلك يمكنك فعل كل ما تريده يريدون داخل بايثون. وإذا كنت تريد عمل معادلات رياضية أكثر تعقيدًا ، فيمكننا أيضًا
40:04استخدام الأشياء لتحديد ترتيب العمليات. لذا يمكنني استخدام الأقواس. على سبيل المثال ، إذا قلت
40:11ثلاثة ضرب أربعة زائد خمسة ، ما ستفعله بايثون هو ضرب ثلاثة وأربعة معاً. إذن ستكون 12. ثم نضيف خمسة إلى ذلك. لذا يجب أن نحصل على 17. لكن دعنا
40:24نقول إننا أردنا تغيير الترتيب ، أليس كذلك؟ يمكنني بالفعل وضع أقواس حول أربعة وخمسة. والآن ستضيفهم أولاً. إذن ستجمع أربعة وخمسة. لذلك سنحصل على تسعة
40:34وسنضرب ذلك في ثلاثة. لذا يجب أن ينتهي بنا المطاف بـ 27. لذا يمكنك أن ترى أنه يمكننا استخدام هؤلاء
40:39أقواس لتحديد ترتيب العمليات. لذلك يمكنني أن أجعله معقدًا جدًا ، قليلًا المعادلة هنا فقط باستخدام الأرقام والأقواس. يمكننا أيضًا استخدام عملية أخرى ، وهي
40:52يسمى عامل المعامل. لذا يمكنني القول مثل 10 ، واستخدام علامة النسبة المئوية هذه ، ثلاثة. وهذا هو قراءة في الواقع 10 تعديل ثلاثة. وما سيفعله هذا بشكل أساسي هو أنه سيأخذ الأول
41:04رقم مقسومًا على الرقم الثاني ، وسوف يبصق الباقي. لذلك هو في الأساس سوف نقول ، حسنًا ، 10 على ثلاثة ، هذا سيكون ثلاثة مع باقي واحد. و حينئذ هذا سوف يعطينا الباقي. وسترى هنا ، نحصل على واحدة ، لأن هذا هو
41:21باقي 10 مقسومًا على ثلاثة. ويمكن أن يكون عامل المعامل هذا مفيدًا إلى حد ما. في وسعنا قم أيضًا بتخزين هذه الأرقام داخل المتغيرات. لذا يمكننا تخزينها داخل هذا المتغير
41:32حاويات. لذلك يمكنني المجيء إلى هنا ، ويمكنني إنشاء متغير يسمى مثل عدد الشرطة السفلية الخاصة بي.
41:39وسنخزن فقط قيمة لنقل مثل خمسة هنا. ولذا يمكنني القدوم إلى هنا ، ويمكنني فقط طباعة عدد الشرطة السفلية الخاصة بي. وسنكون قادرين على طباعة هذا الرقم على
41:49الشاشة على ما يرام. لذا بالإضافة إلى القيام بأشياء مثل الحساب الأساسي ، يمكننا أيضًا القيام ببعض الأشياء الأخرى
41:56أشياء. أحد الأشياء التي يمكنني فعلها هو أنه يمكنني تحويل هذا الرقم إلى سلسلة. لذلك إذا أردت لتحويل هذا الرقم إلى سلسلة ، يمكنني فقط أن أقول str ، ويمكنني وضع الرقم الذي أريده
42:07تحويل داخل هذه الأقواس. ولذا فإن ما سيحدث الآن هو أن هذا الرقم سيصل يمكن تحويلها إلى سلسلة. لذلك عندما أنقر على زر التشغيل ، سترى أنه يطبع خمسة فقط ،
42:18ولكن الآن بدلاً من أن يكون رقمًا ، فهذا في الواقع عبارة عن سلسلة. وهذا سيكون مفيدًا عندما تريد طباعة الأرقام جنبًا إلى جنب مع السلاسل. لذا يمكنني المجيء إلى هنا ويمكنني أن أقول مثل ، يا
42:32الرقم المفضل ، وسنكون قادرين على طباعة هذا الرقم مع هذه السلسلة. لذلك يمكنني انقر فوق تشغيل. وهي تقول خمسة رقمي المفضل. إذا كنت سأتخلص من هذه الخيط هنا ،
42:44ولم أكن أقوم بتحويل الرقم إلى سلسلة ، والآن ستواجه بايثون مشكلة في ذلك. لن يسمح لنا بالقيام بذلك. يمكنك أن ترى أننا حصلنا على خطأ. لذلك في أي وقت تريد الطباعة
42:54عند إخراج رقم بجوار سلسلة ، يجب أن تتأكد من استخدام وظيفة السلسلة الصغيرة هذه.
42:59إذن ، هناك مجموعة من الأشياء الأخرى التي يمكننا فعلها بالأرقام. وفي كثير من الأحيان في بايثون ،
43:04سترغب في استخدام عوامل محددة ، مثل معاملات الرياضيات الأكثر تقدمًا. لذلك هناك مجموعة من الدوال الرياضية المختلفة التي يمكننا استخدامها في أعدادنا. والدالة تشبه في الأساس
43:16مجموعة صغيرة من التعليمات البرمجية التي تقوم بشيء ما. لذلك يمكن أن تؤدي وظيفة عملية مثل
43:21عملية حسابية على رقمنا. يمكن أن يوفر لنا أيضًا معلومات حول رقمنا. لذا سأريكم يا رفاق بعض الوظائف الأكثر شيوعًا التي ستستخدمها في بايثون
43:31المتعلقة بالأرقام. الأول يسمى ABS ، وهو يرمز إلى القيمة المطلقة. حتى نتمكن من الحصول عليها القيمة المطلقة للرقم. وهنا ، سأجعل هذا المتغير سالب خمسة.
43:46وبشكل أساسي ، يمكنني فقط أن أقول ABS ، ويمكنني عمل أقواس مفتوحة ومغلقة هنا. وهذا سيعطيني القيمة المطلقة لهذا الرقم هنا. لذلك عندما أنقر فوق المسرحية
43:57ستلاحظ أنه يعطينا خمسة فقط ، لأن خمسة هي القيمة المطلقة لسالب خمسة. يمكنني استخدام بعض الوظائف الأخرى. هناك واحد آخر يسمى الأسرى. إنه مجرد أسير حرب.
44:09وأنا في الواقع لن أستخدم هذا المتغير. نحن نستخدم رقمًا عاديًا فقط. وهذه الوظيفة سيسمح لنا بتمرير قطعتين من المعلومات. إذن يمكنني إعطاء هذه الدالة قطعتين من
44:19معلومة. الأول سيكون مثل الرقم. والثاني سيكون القوة أريد أن آخذ هذا الرقم إليه. لذلك يمكنني أن أقول ثلاثة فاصلتين. وهذا في الأساس ستكون ثلاثة مرفوعة للقوة الأسية اثنين. إذن ستكون ثلاثة تربيع. لذلك نحن
44:37يجب أن تحصل على تسعة هنا. يمكنك أن ترى أننا نفعل. لذلك يمكنني المرور مثل ، كما تعلمون ، بعض الجنون
44:42عدد ، كما يمكننا تمرير أربعة ويمكننا رفعه إلى أس ستة. وعلينا أن نفعل ذلك الحصول على مثل عدد كبير جدا هنا. ويمكنك أن ترى أننا حصلنا على 4096. إذن هذه الدالة هي حقًا
44:54مفيد لأخذ الأرقام لقوى محددة. إذن بالإضافة إلى استخدام دالة الأسرى هذه ، يمكننا ذلك استخدم أيضًا وظيفة أخرى تسمى max. حتى أستطيع أن أقول ماكس. وما سيفعله هذا هو
45:06إنه سيعيد في الأساس العدد الأكبر من العددين اللذين نمررهما فيه. لذلك أنا الآن يعطي هذا أربعة وستة. ويجب أن يخبرنا هذا بأي رقم أكبر. لذا هنا ،
45:17إنها تطبع ستة فقط لأن هذا هو الرقم الأكبر. يمكنني أيضًا استخدام وظيفة أخرى
45:22يسمى مين. وهذا سيفعل العكس. لذا بدلاً من طباعة العدد الأقصى الآن ، ستقوم بطباعة أصغر رقم. وستقوم بطباعة أربعة هنا ، كما يمكنك انظر ، وظيفة رائعة أخرى تسمى وظيفة الجولة. وهذا سيسمح لنا بالتقريب
45:36رقم. لذلك ستتبع مثل قواعد التقريب القياسية. لذلك إذا قلت مثل 3.2 من الداخل هنا ، الآن بصدد تقريبه لأسفل إلى ثلاثة فقط. ولكن إذا قلت 3.7 ، سيتم تقريبه إلى أربعة. سيسمح لك ذلك بتقريب رقم.
45:53هناك بعض الوظائف الأخرى التي أود أن أعرضها لكم يا رفاق ، ولكن من أجل الوصول إليها ،
45:59سأفعل شيئًا يسمى الاستيراد. وفي بايثون ، يمكننا بالفعل الاستيراد كود خارجي في ملفاتنا. لذا إذا أردت الوصول إلى وظائف الرياضيات المحددة ،
46:12لا بد لي من استيراد شيء يسمى بايثون الرياضيات. لذا يمكنني القول من هنا ، الرياضيات ، الاستيراد ، وهذا النجم. وبشكل أساسي ، ما سيفعله هذا هو أنه سيخرج وسيحدث
46:25احصل على مجموعة من الوظائف الرياضية المختلفة التي يمكننا استخدامها. لذلك أريتكم بالفعل يا رفاق عددًا قليلاً من
46:30هذه الوظائف الحسابية المختلفة ، ولكن في الواقع هناك مجموعة أخرى. ومن أجل الوصول إليهم ،
46:35سنحتاج إلى تضمين هذا السطر من التعليمات البرمجية داخل ملفنا. لذلك بمجرد أن نحصل على ذلك ، الآن يمكنني الوصول إلى عدد قليل من الآخرين. إذن هناك وظيفة أخرى تسمى طريقة الأرضية. و
46:44انها مجرد FLOR. وما سيفعله هذا هو أنه سيحصل بشكل أساسي على أقل رقم. إذن كذلك في الأساس مجرد قطع هذه العلامة العشرية. ويمكنك أن ترى هنا ، الآن نحصل على
46:55ثلاثة ، لأننا نستخدم وظيفة الأرضية هذه ، هناك أيضًا وظيفة أخرى تسمى الختم. وذاك سأفعل العكس تمامًا. لذلك فإن هذا سيؤدي فقط إلى تقريب الرقم لأعلى مهما كان الأمر. لذا
47:05مهما كان الأمر ، فسنحصل دائمًا على أربعة مع وجود ثلاث نقاط أيا كان الأمر هنا. و هناك واحد آخر يسمى الجذر التربيعي. لذلك فهو مجرد SQRT. وبشكل أساسي ، هذا فقط سيحدث
47:16إرجاع الجذر التربيعي لرقم. لذا يمكنني القول 36. والآن يجب أن نستعيد ستة. لذا هذه وظائف رائعة ومثيرة للاهتمام للغاية. وداخل وحدة الرياضيات هذه ، نسميها
47:30هذه وحدة. ولا داعي للقلق كثيرًا بشأن ما هو الآن. فقط اعلم هذا عندما نضع هذا السطر من التعليمات البرمجية في برنامجنا ، فإنه يتيح لنا الوصول إلى الكثير من وظائف الرياضيات.
47:41لذلك يسمح لنا بشكل أساسي بعمل الكثير من الأشياء باستخدام الرياضيات داخل برنامجنا. وهناك مجموعة من وظائف الرياضيات المختلفة في بايثون. وإذا أردت ، يمكنك ببساطة الاتصال بالإنترنت و
47:52البحث عن وظائف الرياضيات المختلفة. أريتكم يا رفاق القليل هنا. وأود أن أقول ما نحن التي ننظر إليها هنا هي على الأرجح الأكثر استخدامًا ، ولكن هناك مجموعة أخرى. وكما قلت ،
48:03كما تعلم ، هناك الكثير من الوثائق حول كل هذه الأشياء. لذا يمكنك البحث ، كما تعلم ،
48:07وظائف الرياضيات في بايثون. وستكون هناك العديد من القوائم المشابهة لهذه الأشياء يمكنك استخدامها داخل برامجك لإجراء عمليات حسابية مختلفة. لكن الان،
48:17كان الأمر يتعلق قليلاً باستخدام الأرقام قليلاً ، كما تعلمون ، عمليات حسابية معينة واستخدام وظائف مع تلك الأرقام.
48:25في هذا البرنامج التعليمي ، سأوضح لك كيفية الحصول على مدخلات من المستخدم. لذلك نحن في الأساس نذهب إلى السماح للمستخدم بإدخال المعلومات في برنامجنا. وسأقوم بالفعل بأخذ
Getting Input From Users
48:40المعلومات التي يدخلها المستخدم ، سأخزنها داخل متغير. وبعد ذلك نحن ستكون قادرًا على فعل شيء بهذا المتغير. لذلك أريد أن أريكم يا رفاق كيف يمكننا فعلاً
48:50حول الحصول على مدخلات من شخص ما. وهنا في ملف Python الخاص بي ، كل ما علي فعله للحصول عليه الإدخال من شخص ما هو أنني يجب أن أكتب المدخلات ، ثم أقواس مفتوحة ومغلقة.
49:03وما سيفعله هذا بشكل أساسي هو أنه سيخبر بايثون مثل ، مهلا ، نريد الحصول عليه
49:08الإدخال من المستخدم وستسمح Python للمستخدم بكتابة بعض المعلومات. وداخل هذه بين قوسين ، يمكننا بالفعل كتابة موجه. وبشكل عام ، عندما نريد أن يدخل المستخدم
49:21بعض المعلومات ، نريد إخبارهم بما نريدهم أن يدخلوه. وهذا ما يمكننا وضعه
49:25من الداخل هنا. لذلك سأقول فقط ، أدخل اسمك. لذلك سنقوم بالفعل بإنشاء ملف تطبيق Python الصغير ، والذي سيسمح للمستخدم بإدخال اسمه. وبعد ذلك سنقوم بالتخزين
49:37الاسم داخل المتغير ، وبعد ذلك سنقول مرحبًا للمستخدم. لذلك سنقول مثل ، مرحبًا ، ثم أيًا كان الاسم الذي أدخلوه. لذا ما أريد فعله هو أنني أريد فعلاً ذلك
49:48تخزين كل ما يدخله المستخدم في برنامجنا داخل متغير. لذلك يمكنني في الواقع الذهاب هنا ، ويمكنني إنشاء متغير ، يمكنني فقط تسميته بالاسم. ويمكنني ضبط هذا المتغير
50:01يساوي المدخلات. ما أفعله الآن هو أنني آخذ القيمة التي يدخلها المستخدم ، وأنا أقوم بتخزينه داخل هذه الحاوية المتغيرة المسماة name. والآن يمكنني الوصول إلى أي شيء
50:16دخلوا فيها. لذا ما يمكننا فعله هو أن نقول طباعة. وداخل الأقواس ، يمكنني ذلك فقط
50:23اطبع مرحبًا. وبعد ذلك سأضيف إلى هذا الاسم. وفي الواقع ، لماذا لا نضع علامة تعجب؟ لذلك بشكل أساسي ، نحصل على اسم من المستخدم ، ونخزنه بداخله متغير الاسم. وأنا أطبعها على الشاشة. لذا سأقوم بتشغيل هذا.
50:42وعندما نقوم بتشغيل البرنامج ، ستلاحظ هنا ، أن بايثون تعطينا هذا التوجيه الصغير. لذا تقول أدخل اسمك. الآن هنا ، يمكنني بالفعل كتابة قيمة. لذا يمكنني كتابة مايك.
50:54وبعد ذلك يمكنني فقط الضغط على مفتاح الإدخال. وستمضي بايثون في تخزين هذه القيمة داخل هذا المتغير.
51:01ومن ثم يطبع مرحبًا ، مايك. وهذا شيء رائع. وفي الواقع ، ما نحن يمكن أن نفعله هو أنه يمكننا مطالبة المستخدم بإدخال أكثر من معلومة واحدة. لذا يمكنني ان
51:12في الواقع نسخ هذا السطر من التعليمات البرمجية. وسأقوم بلصقه أدناه هنا. ولماذا لا نملك ملف يدخل المستخدم في متغير آخر؟ لذلك يمكننا أن نجعلهم يدخلون ، على سبيل المثال ، في أعمارهم. وأكثر
51:24هنا ، نريد فقط أن نقول أدخل عمرك. والآن يمكننا الحصول على معلومتين من المستخدم. ويمكنني أن أقول مرحبا ، اسم. وبعد ذلك يمكنني القول ، أنت كذلك ، وسأقوم بطباعة ملفات
51:38عمر. لذلك سأقوم فقط بطباعة العمر. الآن أنا قادر بشكل أساسي على الحصول على هاتين القطعتين معلومات من المستخدم ، يمكنني الحصول على أسمائهم. ويمكنني معرفة أعمارهم. لذلك عندما نقوم بتشغيل هذا البرنامج ،
51:52يمكنني كتابة كل من هذه المعلومات. حتى أقول ، أجب على اسمك. لذلك يمكننا فقط اخترع اسمًا مثل جون ، ثم أدخل العمر ، لنفترض أن جون يبلغ من العمر 25 عامًا. والآن سيقول ،
52:03مرحبًا جون ، عمرك 25 عامًا. لذا فإن البرنامج قادر على الحصول على مدخلات من المستخدم. وبعد ذلك يكون قادرًا على ذلك
52:09استخدم هذه المعلومات من أجل إلقاء التحية على المستخدم وإخباره بعمره. و حينئذ يعد الحصول على مدخلات من المستخدم طريقة رائعة لجعل برامجك أكثر تفاعلية. و هنا،
52:21نحن فقط نخدش السطح ، أليس كذلك؟ نحن فقط نصل ، كما تعلمون ، إلى قطعة من
52:25معلومات من المستخدم ، ولكن يمكنك استخدام هذه المدخلات للقيام بأشياء رائعة في Python. وكما نحن من خلال هذه الدورة ، سترى بعض الأشياء الرائعة حقًا التي يمكننا فعلها بهذه المدخلات.
Building a Basic Calculator
52:39في هذا البرنامج التعليمي ، سأوضح لك كيفية إنشاء آلة حاسبة أساسية جدًا في Python ،
52:45سنقوم بشكل أساسي ببناء آلة حاسبة حيث نحصل على رقمين من المستخدم ، ثم نجمع هذه الأرقام معًا ونطبع الإجابة على الشاشة. لذلك دعونا
52:54انظر إلى بعض الممارسات في الحصول على مدخلات من المستخدمين. وسنتحدث أيضًا عن الحصول على أرقام من المستخدمين في مقابل السلاسل فقط. لذلك أنا متحمس حقًا لبدء استخدام هذه الآلة الحاسبة. ال
53:05أول شيء نريد القيام به هو إنشاء متغيرين وداخل هذين المتغيرين نريد تخزينهما الرقمان اللذان يريد المستخدم جمعهما معًا. لذا هنا في الأسفل ، سأقول ،
53:17العدد واحد. وهذا ما نسميه المتغير الأول يساوي. والآن أنا بحاجة للحصول على المدخلات من المستخدم. لذلك سأقول المدخلات. وداخل هذه الأقواس ، سأقول ،
53:28أدخل رقما. والآن أريد أن أفعل نفس الشيء بالضبط ، لكن بالنسبة للرقم الثاني. لذلك سنلصق هذا الرجل بالأسفل هنا. وسأقول العدد اثنان. وبعد ذلك سنقول فقط ،
53:45أدخل رقمًا آخر. إذن نحن الآن قادرون على تخزين مدخلات المستخدم داخل هذين المتغيرين. والآن كل ما أريد فعله هو مجرد طباعة النتيجة. لذلك سأقوم بإنشاء متغير
53:58نتيجة تسمى. سأقول فقط أن النتيجة تساوي ، وبشكل أساسي ، نريد فقط أن نضيف
54:03هذين الرقمين معا. سأقول عدد واحد زائد عدد اثنين. والآن كل ما علينا فعله هو مجرد طباعة النتيجة. لذلك سأقوم فقط بطباعة النتيجة. لذلك لدينا أساسًا كل ما لدينا
54:16برنامج مكتوب هنا. وسيسمح لنا هذا بإدخال عددين ، ثم نجمعهما معًا وطباعة الإجابة. لذا سأقوم بالنقر فوق تشغيل. وهنا بالأسفل يمكننا إدخال العدد. سأدخل الرقم الأول ، سنقول خمسة. وسأدخل رقمي الثاني.
54:34لنفترض إذن 8.0 ، أو 8.3. الآن يجب أن نطبع الإجابة. ولكن إذا نظرت هنا ، هذه ليست الإجابة التي كنا نبحث عنها ، صحيح ، خمسة زائد 8.3 بالتأكيد ليست 58.3. و
54:53إليكم ما حدث. عندما نحصل على مدخلات من مستخدم بشكل افتراضي ، فإن Python ستقوم فقط بالتحويل في سلسلة. لذلك لا يهم ما نضعه هناك عندما ندخل الأرقام ،
55:06ستكون بايثون دائمًا مثل ، حسنًا ، هذه سلسلة ، هذا كل شيء. تبدو جيدة ، أليس كذلك؟ انه فقط
55:12ستجعلها سلسلة. لكي نجعل أرقام المتغيرين رقم واحد وعدد متغيرين ، فعلينا في الواقع تحويل السلاسل التي نحصل عليها من المستخدم إلى أرقام. و حينئذ
55:24الطريقة التي يمكننا بها القيام بذلك هي مجرد القدوم إلى هنا. وعندما نجمع العددين
55:30معًا ، يمكنني استخدام دالة Python خاصة لتحويل هذه السلاسل إلى أرقام. وهناك في الواقع وظيفتان في بايثون يمكننا استخدامهما لهذا الغرض. الأول يسمى int.
55:43لذا يمكنني القول أنه يمكنني عمل أقواس مفتوحة وإنشاء أقواس مغلقة. وبشكل أساسي
55:50ما سيفعله هذا هو تحويل ما بداخل هذه الأقواس المفتوحة والمغلقة إلى عدد صحيح. والعدد الصحيح هو في الأساس عدد صحيح. لذا فهي مثل واحدة ،
56:02اثنان ثلاثة اربعة خمسة. إذن فهو رقم صحيح. بمعنى آخر ، لا يمكن أن تحتوي على رقم عشري
56:07نقطة. وما يمكنني فعله هو أنني أستطيع أن أقول ، int ، ويمكنني أن أضع هذه داخل الأقواس. والآن ما سيفعله هذا هو تحويل كلا العددين إلى
56:19أعداد صحيحة. بمعنى آخر ، في الأعداد الصحيحة التي لا تحتوي على كسور عشرية. وسوف تضيف معًا وسنطبع النتائج. فلماذا لا نفعل ذلك؟ وسنرى فقط ما إذا كان
56:29هذا يعمل. لذلك سأضغط على زر التشغيل. وهنا في الأسفل ، سنقوم بإدخال الرقم الأول. لذا
56:34سأدخل فقط في أربعة. وبعد ذلك سأدخل في خمسة. والآن يمكنك رؤيته طباعة الإجابة الصحيحة أربعة زائد خمسة. وهذه هي الآلة الحاسبة الأساسية لدينا.
56:45لكن لدينا مشكلة واحدة مع هذه الآلة الحاسبة. لذا سأقوم بتشغيله مرة أخرى. وسأريك
56:49الأشخاص الذين يعانون من هذه المشكلة هو أنني إذا أردت إضافة رقم عشري ، فسنضيف 4.3 و 5.5. سترى أننا حصلنا على هذا الخطأ. وذلك لأنني أستخدم هذه الدالة
57:03هنا في الأعلى. وهذه الدالة int تبحث عن عدد صحيح. لذلك إذا وضعت أرقامًا عشرية بالداخل ، سوف يكسر البرنامج. هناك وظيفة أخرى يمكننا استخدامها
57:14بدلاً من int ، يمكننا أن نقول تعويم. والعوم هو في الأساس مجرد رقم له عدد عشري. إذن فهو رقم عشري. لذا يمكنني تحويل هذين الرجلين إلى عوامات.
57:24والآن سأتمكن من استخدام الأعداد العشرية. حتى أتمكن من النقر فوق تشغيل. ويمكنني فقط الدخول في بعض
57:30أعداد. لذا يمكنني القول مثل أربعة. ويمكنني أيضًا أن أقول 5.5. والآن ستكون قادرة لجمع هذين الرقمين ، حتى لو كان أحدهما عددًا عشريًا. وهذا هو جمال استخدام ذلك
57:42وظيفة تعويم صغيرة. لذلك في ظروف معينة ، قد ترغب في أن يكون المستخدم قادرًا على الدخول فقط في عدد صحيح لعدد صحيح. لكن في كثير من الحالات ، كما هو الحال في هذه الآلة الحاسبة ، نريدهم أن يفعلوا ذلك
57:52نريدهم أن يكونوا قادرين على إدخال أي رقم يريدونه. لذلك سنستخدم هذا الطفو وظيفة. لذلك سأقوم بتلخيص ما فعلناه مرة أخرى ، أنشأنا متغيرين ،
58:01العدد الأول والعدد الثاني. وقمنا بشكل أساسي بتخزين الرقمين اللذين يدخلهما المستخدمون في هذين الرقمين المتغيرات. ثم قمنا بتحويلها إلى أرقام. وقمنا بجمعها معًا وطبعناها
58:14النتائج. إذن هذه آلة حاسبة رائعة جدًا. أنا سعيد به. أتمنى أنكم تعلمتم يا رفاق
58:18شئ ما. وبينما نمضي قدمًا في دورة بايثون هذه ، ستتعلم كل أنواع الطرق يمكننا جعل هذه الآلة الحاسبة أكثر تعقيدًا. في هذا البرنامج التعليمي ، أريد أن أوضح لكم يا رفاق كيفية القيام بذلك
Mad Libs Game
58:31بناء لعبة madlibs في Python. لذا فإن لعبة madlibs هي في الأساس مجرد لعبة يمكنك القيام بها
58:38أدخل مجموعة من الكلمات العشوائية. لذا مثل ، الأفعال ، الأسماء ، الأسماء ، الألوان. وأنت في الأساس خذ كل هذه الكلمات وضعها في قصة بشكل عشوائي. هنا ، متصفح الويب الخاص بي ،
58:52لدي فقط مثال على madlibs. لذا ، كما تعلمون ، هنا ، نحن في الأساس نأخذ عشوائيًا كلمات ، مثل صفة أو اسم أو اسم جمع ، وإدخالها بجانب قصة. لذا
59:02مثلك تقرأ القصة ثم مثل بعض الكلمات العشوائية المنبثقة ويمكن أن تكون madlibs جميلة
59:06هزار. وأنا متأكد من أنكم سمعتم على الأقل عن madlibs من قبل. ولكن إذا لم، كان ذلك مجرد مقدمة صغيرة. لذلك أريد إنشاء madlibs في Python. وهذا ما يحدث
59:15أن تكون رائعًا حقًا. هنا بالأسفل ، لدي مثل هذه القصيدة الصغيرة ، والتي تقول فقط ، الورود حمراء ، البنفسج لونه أزرق ، أحبك. وهكذا ، كما تعلمون ، هذا نوع من القصيدة الكلاسيكية. لكنني أعتقد
59:26يجب أن نخلطها قليلاً وننشئ Madlib لهذه القصيدة. وهكذا بدلا من أن يكون هذا اللون الأحمر اللون هنا ، أريد أن يُدخل المستخدم بألوانه الخاصة. بدلا من وجود البنفسج ،
59:40لماذا لا نجعلهم يدخلون في صيغة الجمع؟ وبدلاً من أن أقول أحبك ، لماذا لا نملكها
59:47يقول لهم أنا أحب ثم بعض المشاهير؟ حتى المشاهير. إذن هذا هو الهيكل الأساسي لصغيرنا madlib صحيح؟ أريد أساسًا أن يُدخل المستخدم لونًا ، ويُدخل اسم الجمع ،
1:00:00والدخول في أحد المشاهير. وبعد ذلك سآخذ كل هذه الكلمات وأضعها داخل منطقتنا madlib. ونأمل أن ينتهي بنا الأمر بشيء مضحك للغاية. إذن كيف يمكننا أن نذهب بالفعل
1:00:10حول بناء هذا في بايثون؟ حسنًا ، أول شيء يتعين علينا القيام به هو أن يكون لدينا لتتمكن من الحصول على هذه الكلمات من المستخدم ، أليس كذلك؟ هذا واضح جدا. لذلك أعتقد ما يجب علينا
1:00:20هل يجب علينا إنشاء ثلاثة متغيرات تسمى اللون الجمع والاسم والشهرة. وسنقوم بتخزين ملف مدخلات المستخدم داخل تلك المتغيرات. لذا ، فلنقم بإنشاء هذه المتغيرات هنا. الأول
1:00:33المتغير الذي أريد إنشاءه سيطلق عليه اللون. لذا قل اللون. وأريد مساواة ذلك
1:00:38إلى المدخلات. لذلك سأقول المدخلات. وداخل هنا ، سأقوم فقط بإعطائهم دفعة. لذا سأقول أدخل اللون. ويمكننا بشكل أساسي نسخ هذا السطر من التعليمات البرمجية. وسأقوم باللصق
1:00:50في الأسفل. وسنلصق مرة أخرى. الآن سنقوم بإنشاء اسم الجمع عامل. لذلك سأقول PL ، URL ، اسم الجمع. وسنقول فقط أدخل اسم الجمع. وفي الواقع،
1:01:06هنا ، أريد أن أجعل القولون أيضًا. ثم أخيرًا ، سننشئ متغير المشاهير لدينا
1:01:12وسنقول أدخل أحد المشاهير. والآن بشكل أساسي ، ننشئ ثلاثة متغيرات تسمى اسم جمع اللون والشهرة. وداخلها ، نقوم بتخزين اللون الذي يدخله المستخدم ،
1:01:26الجمع ، يدخل المستخدم ويدخل المشاهير. لذا فإن آخر شيء يتعين علينا القيام به هو استبدل هؤلاء الرجال بهذه المتغيرات. لذلك سأضيف اللون هنا.
1:01:40وسنضيف اسم الجمع. لذا يمكنني أن أذهب هكذا. وأخيرًا ، سنضيف هذا الشهرة فقط. حتى الآن لدينا مجنون مجنون مجنون. ويجب تكون وظيفية. كل شيء يجب أن يعمل. يبدو أنه من الجيد أن تذهب. لذلك دعونا نأتي إلى هنا و
1:02:04سندير برنامجنا. وبعد ذلك في الأسفل هنا في وحدة التحكم ، يمكننا أن نلعب لعبتنا الصغيرة المجنونة. لنفترض إدخال لون ، سأقول فقط أرجواني ، أدخل اسم الجمع. لماذا لا نقول
1:02:19أفران الميكروويف وأدخل أحد المشاهير ، دعنا نقول توم هانكس. لذلك عندما أقوم بالنقر فوق إدخال ، ما الذي يجب أن يحدث هو يجب أن نطبع شفراتنا المجنونة. لذا سأقوم بالنقر فوق إدخال. والآن لدينا مجنوننا
1:02:32ليبس. لذلك يقول الورود أو الأرجواني ، أفران الميكروويف زرقاء. أنا أحب توم هانكس. لذلك فهو مجنون جيد ليب. ومن الواضح ، كما تعلم ، أنه كلما زاد عدد البيانات المطبوعة التي وضعناها هنا ، كما تعلم ،
1:02:44يمكن أن يكون جنون lib أفضل. ويمكننا تخزين أكبر عدد ممكن من المتغيرات هنا كما تعلمون
1:02:48مطلوب. كان هذا مجرد تحرير بسيط للغاية. لقد أخذنا ثلاثة مدخلات فقط ، لكنك تعلم ، يمكنك ذلك انظر كيف يمكنك أن تأخذ شيئًا مثل هذا وتخلق لعبة libs مجنونة قليلاً. لذا واجبك
1:02:59لهذا الدرس هو أن تنطلق وتصنع لعبة جنون ليبس الخاصة بك. نأمل أن يكون هذا قليلاً أكثر تسلية من لي. لكن هذه هي أساسيات إنشاء لعبة جنون ليبس في بايثون.
Lists
1:03:13في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق حول العمل مع القوائم في بايثون. الكثير من الأوقات التي تقوم فيها بالبرمجة في Python ، ستتعامل مع كميات كبيرة من البيانات.
1:03:23وعندما تتعامل مع كميات كبيرة من البيانات ، فأنت تريد التأكد من أنك تستطيع ذلك
1:03:26إدارتها وتنظيمها بشكل صحيح. والقائمة هي في الأساس مجرد بنية يمكننا استخدامها داخل Python لتخزين قوائم المعلومات. حتى نتمكن من أخذ مجموعة من قيم البيانات المختلفة ،
1:03:38يمكننا وضعها داخل قائمة ، وهذا يسمح لنا بتنظيمها وتتبعها كثيرًا أسهل. بشكل عام ، ستنشئ قائمة بايثون ، وستضع مجموعة من القيم ذات الصلة
1:03:49داخل تلك القائمة ، وبعد ذلك يمكنك استخدامها في جميع أنحاء برنامجك. لذا سأريكم الرجال فقط أساسيات استخدام القوائم ، سنلقي نظرة على بعض حالات الاستخدام الشائعة و
1:03:58حقًا فقط يجعلك على دراية سريعة بماهية القوائم وسبب فائدتها. حتى هنا في بلدي البرنامج ، سأقوم بالفعل بإنشاء قائمة. وننشئ قائمة تشبه إلى حد كبير إنشاء ملف
1:04:08Python ، تمامًا مثل متغير Python العادي. لذا فإن أول شيء نريد القيام به عندما نصنع ملف
1:04:13القائمة تعطيه اسما. لذلك نريد أن نعطيه اسمًا وصفيًا ، شيء ما سيحدث صِف بشكل أساسي ما بداخل القائمة. في حالتي ، على سبيل المثال ، دعنا نصنع قائمة بـ
1:04:24مثل الأصدقاء. لذلك يمكننا أن نقول مثل هذه قائمة بجميع أصدقائي. لذا أستطيع أن أقول أصدقاء.
1:04:30وسأضع هذا مساويًا لقائمة القيم التي تمثل أصدقائي. ونريد لإنشاء قائمة ، يمكننا استخدام هذه الأقواس المربعة المفتوحة والمغلقة. لذلك كلما استخدمت هذه الملفات مفتوحة
1:04:41والأقواس المربعة المغلقة ، تعلم بايثون أساسًا ، حسنًا ، يريدون تخزين مجموعة من القيم في الداخل من هذه القائمة. فلماذا لا نمضي قدمًا ونبدأ في إضافة بعض القيم؟ لذلك يمكننا القول مثل أصدقائي
1:04:52هم مثل كيفن وكارين ودعونا نقول جيم. إذن لدي هنا ثلاث قيم داخل مجموعة أصدقائي. لذلك عندما ننشئ متغيرًا عاديًا في بايثون ، بشكل عام ، نعطيه قيمة واحدة فقط ،
1:05:11يمين؟ لذلك سأقوم بإنشاء متغير ، سأعطيه قيمة واحدة ، ربما سلسلة أو رقمًا أو a قيمة منطقية. ولكن عندما نصنع قوائم ، يمكننا تخزين قيم متعددة داخل نفس القيم مثل القليل
1:05:23عنصر داخل نفس الكائن ، أليس كذلك؟ وبعد ذلك ما يمكنني فعله هو أنه يمكنني الوصول إلى هذه العناصر الفردية داخل برنامجي. لذلك داخل قائمة الأصدقاء هذه ، نقوم بتخزين كل هؤلاء بشكل مختلف
1:05:36القيم ، ويمكن أن يكون ذلك مفيدًا حقًا. والآن بعد أن قمنا بتخزين بعض القيم ، فلنتحدث عن ماذا
1:05:41يمكنك وضع داخل قائمة. لذا يمكنك حقًا وضع أي معلومة في بايثون ، يمكننا ذلك ضع أشياء مثل سلاسل أو أرقام أو قيمة منطقية. لذلك إذا أردت ، بدلاً من مجرد وضع الأوتار
1:05:51هنا ، يمكنني تغيير مثل واحد من هؤلاء إلى رقم ، ويمكنني تغيير أحدهما إلى قيمة منطقية ، ولا يهم ، فإن بايثون ستكون على ما يرام مع ذلك. لكن دعنا نعيدها إلى
1:06:01سلاسل فقط من أجل المثال. والآن بعد أن أنشأنا قائمتنا ، كيف يمكننا الوصول إليها العناصر الفردية داخل هذه القائمة؟ إنه سؤال جيد. سأقوم بالطباعة
1:06:12شيء ما على الشاشة. أول شيء يمكننا القيام به هو أنه يمكننا فقط طباعة القائمة الفعلية. لذا يمكنني فقط أن أقول طباعة الأصدقاء. وبعد ذلك عندما أقوم بتشغيل هذا البرنامج ، إذا نظرنا إلى الأسفل هنا في
1:06:22وحدة التحكم ، يمكنك أن ترى أنها تقوم فقط بطباعة القائمة الفعلية للأصدقاء ، أليس كذلك؟ لكن دعنا نقول ذلك
1:06:27كنت أرغب في طباعة عنصر معين داخل هذه القائمة. حسنًا ، يمكنني بالفعل الإشارة إلى العناصر حسب فهرسهم. إذن كل عنصر بداخل هذه القائمة له فهرس معين. والفهرس
1:06:40هي في الواقع تبدأ من الصفر. لذلك يمكننا القول أن هذا العنصر الأول في القائمة ، كيفن لديه فهرس من الصفر. يمكننا القول أن هذا العنصر الآخر كارين لديه فهرس واحد. وهذا العنصر الثالث
1:06:53سيكون لدى جيم فهرس من اثنين. لذلك على الرغم من أن Jim هو العنصر الثالث من الناحية الفنية داخل القائمة ، لديها فهرس من اثنين. وذلك لأننا بدأنا فهرسة موضع المؤشر الأول. وهذا هو الحال
1:07:07مجرد نوع من كيفية عمل القوائم. وهذه هي الطريقة التي تعمل بها فهارس القوائم. لذلك إذا أردت الوصول إلى ملف عنصر داخل قائمة أصدقائي ، يمكنني فقط الرجوع إليها من خلال فهرسها. حتى هنا بعدنا
1:07:19اكتب الأصدقاء ، سأكتب قوسًا مربعًا مفتوحًا ومغلقًا. وداخل هذا مفتوح وقوس مربع مغلق ، أريد أن أضع فهرس العنصر داخل القائمة التي أريدها
1:07:29وصول. لذا إذا أردت الوصول إلى هذا الشخص هنا ، هذا العنصر ، يمكنني فقط وضع صفر. لذلك يمكنني قل أصدقاء صفر. والآن عندما أقوم بتشغيل برنامجي ، سأقوم فقط بطباعة هذه القيمة ، إنها فقط
1:07:41سنطبع كيفن. إذا كنت أرغب في الوصول إلى قيمة Jim هذه هنا ، يمكنني وضع اثنين. وذلك ستعطينا قيمة جيم التي يمكنك رؤيتها هناك. حتى نتمكن من الوصول إلى العناصر القائمة على
1:07:53فهرسهم ، يمكننا أيضًا الوصول إلى العناصر القائمة على فهرسهم من الجزء الخلفي من القائمة. لذا على سبيل المثال ، إذا قلت سالب واحد من هنا ، فسيمنحني هذا الوصول إلى هذه القيمة
1:08:06هنا من أجل جيم. ويمكنك أن ترى هذا النوع من الأشياء يفعل ذلك عندما نستخدم السلبيات ، فإنه يبدأ في الفهرسة من الجزء الخلفي من القائمة. إذا قلت سالب اثنين ، فسيعطينا هذا كارين. وهكذا تستطيع
1:08:16استخدم السلبيات للوصول إلى العناصر الموجودة في الجزء الخلفي من القائمة. فقط ضع في اعتبارك رغم ذلك ، وهذا لطيف
1:08:21مثيرة للاهتمام. يمكننا أن نقول أن هذا العنصر الأول هنا هو موضع المؤشر صفر ، أليس كذلك؟ لكننا سنفعل لنفترض أن العنصر الأول في الجزء الخلفي من القائمة هو موضع الفهرس سالب واحد. لذلك فقط احتفظ بذلك
1:08:34في عين الاعتبار. إذن هناك طرق أخرى يمكننا الوصول إليها مثل أجزاء من هذه القائمة فقط. وذلك ل
1:08:39على سبيل المثال ، لنفترض أنني أردت فقط تحديد آخر عنصرين في هذه القائمة. وأنا لا أريد لاختيار أول واحد. حسنًا ، هنا ، يمكنني أن أقول واحدة بنقطتين. وهذا سوف يمسك
1:08:50عنصر في موضع الفهرس واحد وجميع العناصر بعد ذلك. لذا علينا الآن أن ننتزع جيم وكارين أو كارين وجيم بهذا الترتيب. يمكنني أيضًا تحديد النطاق. في الواقع ،
1:09:02اسمحوا لي أن أضيف عنصرين آخرين فقط حتى نتمكن من توضيح ذلك بشكل أفضل. لذلك سأضيف اثنين المزيد من الأسماء. لذلك إذا أردت ، يمكنني تحديد مثل العنصر في موضع الفهرس واحدًا حتى
1:09:13العنصر في موضع الفهرس الثالث. لذلك سوف يمسك هذا. إذن هذا واحد ، اثنان. وهي في الواقع لن تمسك بالثالث. لذلك ستجمع كل العناصر ولكن لا
1:09:25بما في ذلك ثلاثة. لذلك سوف يمسك كارين وجيم. لذلك دعونا نمضي قدما وندير هذا. ويمكنك أن ترى
1:09:30يمسك كارين وجيم. لذا يمكنك إما وضع مثل واحد مع نقطتين بعده ، وبعد ذلك ستفعل احصل على موضع الفهرس هذا وكل شيء بعده ، أو يمكنك تحديد مثل النطاق الذي تريده
1:09:41انتزاع من. هذه هي الطريقة التي يمكننا بها الوصول إلى العناصر الموجودة داخل هذه القائمة. لكن يمكننا أيضًا تعديل العناصر.
1:09:47على سبيل المثال ، يمكنني القدوم إلى هنا ، لنقل أنني أريد تعديل هذه القيمة هنا ، كارين. حسنًا ، كل ما علي فعله هو الوصول إلى هذا العنصر. لذلك يمكنني أن أقول أصدقاء وكارين في الفهرس
1:09:59المركز الأول. ويمكنني تغيير هذا إلى ما أريد. لذا يمكنني القول أن أصدقاء مؤشر المركز الأول
1:10:04يساوي مايك. والآن عندما نطبع الموضع الأول في فهرس الأصدقاء ، ستكون هذه القيمة محدث. لذلك سيقول مايك بدلاً من قول كارين. لذلك يمكن أن يكون مفيدًا حقًا
1:10:16تعديل القيم داخل المصفوفات. لذلك قد يكون من المفيد حقًا تعديل القيم داخل قوائم بايثون. هذه هي نوع من أساسيات العمل مع القوائم في بايثون. وفي الواقع في البرنامج التعليمي التالي ،
1:10:27سأريكم يا رفاق المزيد من الطرق التي يمكننا من خلالها استخدام هذه القوائم ، وسوف نتعلم كيف للإعجاب بإضافة عناصر إلى قائمة ، وحذف العناصر من القائمة ، ونسخ القوائم ، ومجموعة من الأشياء الرائعة
1:10:38بهذه القوائم. لكن في الوقت الحالي ، كان هذا نوعًا ما مثل أساسيات العمل مع القوائم.
List Functions
1:10:47في هذا البرنامج التعليمي ، أريد التحدث إليكم يا رفاق حول استخدام الوظائف مع القوائم في Python.
1:10:53و Python ، القائمة هي واحدة من أهم الهياكل حيث يمكننا تخزين معلوماتنا. تسمح لك القائمة بشكل أساسي بأخذ مجموعة من القيم المختلفة وتنظيمها وتخزينها
1:11:03داخل هيكل القائمة الصغيرة الخاصة بهم. إذاً هنا في برنامجي ، يمكنك أن ترى أن لدي قائمتين. لدي قائمة بأرقام الحظ. وهذه مجرد مجموعة من الأرقام المختلفة. وبعد ذلك لدي ملف
1:11:14قائمة الأصدقاء. لذلك يمكن أن تكون هذه مثل قائمة أصدقاء شخص ما. وهو في الأساس مجرد ملف حفنة من السلاسل مع الأسماء فيها. لذا فإن هاتين القائمتين تخزنان مجموعة من القيم المختلفة.
1:11:25وما يجعل القوائم رائعة ليس فقط أنه يمكنني تخزين مثل هذه القيم العديدة ، أعني أنني أستطيع تخزينها
1:11:30مئات أو آلاف أو ملايين القيم. وعندما تعمل بالكثير من البيانات والكثير من المعلومات في بايثون ، فهذه القوائم لا تقدر بثمن. ولأن القوائم مهمة جدًا ، فهناك في الواقع
1:11:41مجموعة من الوظائف المختلفة التي يمكننا استخدامها مع القوائم. وهذه الوظائف تسمح لنا بالقيام بها أشياء مثل تعديل القوائم والحصول على معلومات حول القائمة. لذلك في هذا البرنامج التعليمي ، أريد فقط
1:11:52لتظهر لك مجموعة من هذه الوظائف ، سنتحدث عن بعض من أكثرها شيوعًا و الوظائف الأكثر شيوعًا التي قد تستخدمها في القوائم لجعلها أكثر قوة وجعلها أكثر فاعلية
1:12:01أكثر سهولة في الاستخدام. لذا من الواضح أن أول شيء يمكننا القيام به هو مجرد طباعة قائمة. لذا هنا بالأسفل ، أنا أطبع قائمة الأصدقاء هذه. وعندما أرغب في تشغيل برنامجي ، ترى هنا ،
1:12:13نحن فقط نطبع جميع العناصر الموجودة في القائمة. لذلك من الجيد دائمًا أن تكون قادرًا على الطباعة
1:12:18كل العناصر الموجودة داخل القائمة. لكن هناك الكثير من الوظائف الأخرى التي يمكننا استخدامها. لذا وظيفة واحدة تسمى وظيفة التمديد. وستسمح وظيفة الامتداد بشكل أساسي
1:12:27عليك أخذ قائمة وإلحاق قائمة أخرى في نهايتها. لذلك أستطيع أن أقول مثل الأصدقاء دوت يمتد. وداخل هذه الأقواس ، يمكنني تمرير القائمة التي أريد إضافتها إلى
1:12:40قائمة الأصدقاء. لذلك يمكنني القول مثل أرقام الحظ. والآن عندما أطبع قائمة الأصدقاء هذه ، ليس فقط أنها ستحتوي على جميع العناصر في قائمة الأصدقاء ، بل ستحتوي أيضًا على كل العناصر
1:12:50العناصر الموجودة داخل قائمة أرقام الحظ. يمكنك أن ترى هنا ، لدينا جميع أصدقائنا. ثم لدينا أيضًا الأعداد هنا. لذلك فهذه طريقة سهلة حقًا لإبداء الإعجاب
1:13:00أضف قائمتين معًا. يمكننا أيضًا إضافة عناصر فردية إلى القائمة. لذا يمكن أن آتي هنا في الأسفل ويمكنني أن أقول الأصدقاء نقطة إلحاق. وهذا سيسمح لي في الواقع بإلحاق عنصر آخر
1:13:14في نهاية هذه القائمة. لذا هنا ، يمكنني فقط إضافة اسم آخر. لذلك يمكننا أن نقول العقيدة ، ل على سبيل المثال ، والآن أحب إضافة صديق آخر في نهاية هذه القائمة. لذلك عندما أقوم بتشغيل البرنامج ،
1:13:26بالإضافة إلى وجود العناصر الأصلية التي كانت موجودة في القائمة هنا ، لدينا هذا أيضًا عنصر إضافي في النهاية ، وستقوم وظيفة الإلحاق هذه دائمًا بإضافة العنصر في نهاية
1:13:36القائمة. ولكن لنفترض أنك تريد إضافة عنصر في منتصف القائمة. هكذا مثل الحق
1:13:41هنا أو هنا ، توجد وظيفة قائمة أخرى تسمى insert. والإدخال سيستغرق اثنين حدود. ستكون المعلمة الأولى هي الفهرس الذي تريد إدراج العنصر فيه. لذا
1:13:54لماذا لا نقوم بإدخاله هنا في الموضع الأول للفهرس؟ سأقول واحدة فقط. وبعد ذلك سأذهب إلى اكتب اسم العنصر الذي أريد إضافته. لذلك يمكننا أن نقول مثل كيلي. والآن في الفهرس
1:14:06الموضع الأول ، سنحصل على قيمة كيلي ، وستحصل كل هذه القيم الأخرى عند دفعهم لأعلى ، سيتم دفعهم إلى موضع المؤشر الصحيح. والآن أدير البرنامج ،
1:14:18يمكنك أن ترى لدينا كيفن ، هذا العنصر الجديد كيلي ، وبعد ذلك تم دفع جميع العناصر الأخرى
1:14:23إلى اليمين ، يمكننا أيضًا إزالة العناصر. على سبيل المثال ، لنفترض أنني أردت إزالة هذا قيمة صالة الألعاب الرياضية ، كل ما علي فعله هو مجرد قول الأصدقاء dot remove. ويمكنني فقط كتابة أي عنصر
1:14:36أريد إزالته. لذلك أريد إزالة عنصر الصالة الرياضية هذا. والآن عندما ندير البرنامج ، سيتم حذف جيم من القائمة ، ولم يتبق لدينا سوى هؤلاء الأربعة ، يمكنك أيضًا إزالتها
1:14:48كل العناصر من القائمة. لذلك إذا أردت فقط إعادة تعيين القائمة والحصول عليها تمامًا
1:14:53للتخلص من كل شيء ، يمكنني أن أقول فقط الأصدقاء نقطة واضحة. وهذا سيعطينا قائمة فارغة. لذلك سيتخلص من كل عنصر داخل القائمة. هناك أيضًا طريقة أخرى رائعة حقًا ،
1:15:04وهو ما يسمى البوب. ويمكنك فقط كتابة موسيقى البوب بهذا الشكل. وبشكل أساسي ما ستفعله الملوثات العضوية الثابتة
1:15:09هو سينبثق عنصرًا من هذه القائمة. لذلك عندما أنقر على زر التشغيل ، سترى هنا التي تركناها مع كيفن وكارين وجيم وأوسكار. لذلك تخلصنا أساسًا من العنصر الأخير بالداخل
1:15:22القائمة. وهذا ما يفعله البوب ، فإنه يخرج عنصرًا من القائمة. لذلك يزيل أساسا العنصر الأخير في القائمة. إذن لدينا قائمتنا ، لكن لنفترض أننا أردنا معرفة ما إذا كان a
1:15:33كان هناك عنصر معين في هذه القائمة ، حسنًا ، إذا كانت هناك قيمة معينة هنا ، فلنفترض أنني أردت
1:15:38للتحقق مما إذا كان صديقي كيفن موجودًا في هذه القائمة ، حسنًا ، يمكنني أن أقول فهرس نقطة الأصدقاء. و في هنا ، يمكنني فقط تمرير قيمة. لذلك يمكنني أن أقول مثل ، كيفن ، وهذا سيخبرني بالفهرس
1:15:53كيفن. لذلك سيخبرني ما إذا كان كيفن في القائمة. والآن عندما أنقر فوق "تشغيل" ، يمكنك أن ترى في الأسفل هنا ، تقول صفر. إذا كنت سأقول مثل أوسكار هنا ، على سبيل المثال ، الآن سوف تعطيني فهرس أوسكار.
1:16:05هذا هو الثلاثة. ولكن إذا وضعت اسمًا لم يكن موجودًا هنا ، لذا إذا وضعت مايك ، فهذا ليس موجودًا في قائمة. والآن سنعود إلى الهواء ، لأنه يقول إن مايك ليس في القائمة. اذن هذا
1:16:18طريقة سهلة لمعرفة ما إذا كان هناك عنصر معين داخل القائمة. وإذا كان الأمر كذلك ، فأنت تعلم
1:16:23في الفهرس ، يمكنك أيضًا حساب عدد العناصر المتشابهة في القائمة. لذلك أنا في الواقع سننزل هنا ، وانسخ عنصر الصالة الرياضية هذا ، وسنضيف عنصرًا آخر في صالة الألعاب الرياضية هنا. لذا أنا
1:16:36يمكن أن ينزل إلى هنا ويمكنني أن أقول إن الأصدقاء عدد النقاط. وسنمر في صالة الألعاب الرياضية. وهذا سيخبرنا
1:16:43لي كم مرة تظهر صالة الألعاب الرياضية القيمة داخل هذه القائمة. لذلك يجب أن يقول اثنان ، وهو ما يفعله هناك ، لأن لدينا قيمتين في صالة الألعاب الرياضية النصية. وبالتالي لدينا كل هذه القيم ، يمكننا ذلك
1:16:57أيضا فرز هذه القائمة. حتى أتمكن من المجيء إلى هنا ويمكنني أن أقول إن الأصدقاء يفرزون. وما هذا
1:17:03ستفعل هل ستفرز القائمة بترتيب تصاعدي. لذلك لدينا مجموعة من النصوص هنا ، وسترون ماذا يفعل. في الأساس ، ما ستفعله هو ترتيبها أبجديًا. لذا
1:17:14يمكنك أن ترى أن لدينا JKO و T. لذا فقد تحولت القائمة من مجرد ترتيب عشوائي ، مثل أي شيء نحن
1:17:20هنا حتى الآن بالترتيب الأبجدي. وهذا أيضًا سينجح مع أرقام الحظ. لذا أنا يمكن أن يقول مثل أرقام الحظ ، ثم فرزها ، ثم سنطبع أرقام الحظ. ويجب أن تكون هذه
1:17:34الآن بترتيب تصاعدي ، وأنا أدرك أنهم موجودون بالفعل هنا. لكن إذا كنت سأقبل هذا 42 ووضعه هنا ، الآن سيحدد كل شيء ويضعه في ترتيب تصاعدي. على أي حال ، نحن
1:17:48يمكن أيضًا عكس القائمة. لذلك إذا أردت ، يمكنني عكس قائمة أرقام الحظ هذه ، يمكنني القول
1:17:54أرقام الحظ عكسي. والآن عندما نطبعها ، بدلاً من أن تكون 4815 1623 ، سيكون 2316 15 842. إذن فهو ببساطة يعكس ترتيب القائمة. وأخيرا ،
1:18:07هناك وظيفة قائمة أخرى أريد أن أعرضها لكم يا رفاق وهي نسخة. لذلك يمكنني في الواقع أن أخلق
1:18:14قائمة أخرى ، ويمكنني أن أجعلها نسخة. لذلك يمكنني أن أقول مثل ، أصدقاء ، ويمكننا ضبط هذا يساوي نسخة أصدقاء نقطة. والآن سيحصل الأصدقاء على نفس سمات الأصدقاء.
1:18:30لأنه يشبه في الأساس نسخه ، فقد أخذ نسخة من قائمة الأصدقاء هذه. لذا يمكنك أن ترى أنه نفس الشيء بالضبط ويمكن أن تكون قوائم النسخ مفيدة في الكثير من
1:18:40حالات مختلفة. فهذه ليست سوى بعض وظائف القائمة الأساسية وفقط للإعجاب نوعًا ما ، كما تعلم ، بلل قدميك والعمل مع القوائم. من الواضح أنه كلما عملت معهم ،
1:18:49كلما تدربت على استخدام هذه الوظائف المختلفة ، زادت الراحة التي تحصل عليها. ولكن هذا مجرد نوع من النظرة العامة الأساسية لما يمكنك القيام به.
1:18:55في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن tuples في Python. الآن ، تعد المجموعة نوعًا من البيانات هيكل ، وهو ما يعني أساسًا أنه حاوية حيث يمكننا تخزين قيم مختلفة. الآن إذا كنت
Tuples
1:19:14على دراية بالقوائم في Python ، فإن tuple هي في الواقع مشابهة جدًا للقائمة. إنه في الأساس هيكل حيث يمكننا تخزين أجزاء متعددة من المعلومات. لكن توجد بعض الاختلافات الرئيسية في القائمة في القائمة
1:19:29التي سنتحدث عنها في هذا البرنامج التعليمي. أول شيء أريد أن أفعله هو أنني أريد أن أريك كيفية إنشاء مجموعة. لذا يمكنني القدوم إلى هنا وإنشاء مجموعة tuple. وواحد من أكثر
1:19:40من الأمثلة الشائعة على الصفوف الإحداثيات. لنفترض أن لدي سلسلة من مثل إحداثيات XY ، أنا
1:19:46يمكن أن تخلق متغير يسمى الإحداثيات. وسأجعل هذا يساوي قيمة open و أقواس مغلقة. وكلما أردنا إنشاء مجموعة داخل Python ، سنستخدمها
1:19:58هذه الأقواس المفتوحة والمغلقة. وداخل هذه الأقواس داخل هذه الأقواس ، سنقوم بذلك
1:20:03ضع القيم التي نريد تخزينها. لذلك يمكنني ، على سبيل المثال ، وضع قائمة بالأرقام. لذلك هذا ممكن أن تكون مثل إحداثياتي ، يمكن أن يكون لدي أربعة وخمسة. لذلك ستكون هذه المجموعة التي تحتوي على إحداثيات
1:20:17بداخله. وأحد الأشياء التي تجعلها فريدة من نوعها حول tuple هي أن tuple غير قابلة للتغيير. وستسمع هذه الكلمة كثيرًا عندما نتحدث عن مجموعات tuples غير قابلة للتغيير ، فهي تعني ذلك أساسًا
1:20:28لا يمكن تغيير أو تعديل المجموعة. بمجرد إنشاء المجموعة الخاصة بنا هنا ، لا يمكنك تعديلها ، لا يمكنك تغييره ، لا يمكنك إضافة عناصر إليه ، لا يمكنك محو عناصر منه ، لا يمكنك
1:20:40قم بتغيير أي من العناصر الموجودة داخل المجموعة. ما تراه هو ما تحصل عليه ، بمجرد إنشاء ملف tuple ، إنه ، كما هو ، لا يمكن تغييره. لذلك يمكنني القدوم إلى هنا ويمكنني الطباعة
1:20:52بعض السمات داخل المجموعة. والطريقة التي يمكنني الوصول إليها هي فقط من خلال استخدام مفتوح قوس مربع مغلق. وهنا يمكنني تمرير الفهرس. لذلك يتم فهرسة tuple بدءًا من الصفر.
1:21:07من الناحية الفنية ، يمكننا القول إن أربعة في موضع المؤشر الأول ، وآسف ، أربعة في المؤشر
1:21:13الموضعان صفر وخمسة في موضع المؤشر الأول. إذا قلت تنسيق الصفر ، الآن يجب أن يطبع من أصل أربعة. وهنا بالأسفل ، نطبع أربعة. لذا إذا أردت طباعة تلك الخمسة ،
1:21:27يمكننا فقط وضع واحد داخل تلك الأقواس المربعة. والآن سنطبع تلك الخمسة. لذلك يمكنني الوصول إلى العناصر الموجودة داخل المجموعة ، يمكنني الوصول بسهولة إلى كل إدخال. لكن إذا كنت سأحضر
1:21:39هنا وحاول تغيير أحد العناصر ، فإذا قلت الإحداثيات والإحداثيات ، وحاولت أن أجعلها مساوية لشيء آخر مثل 10 ، فإن بايثون ستعطينا في الواقع قيمة
1:21:52خطأ عند تشغيل هذا البرنامج. سأقوم بتشغيل البرنامج ، كما ترى ، لقد حصلنا على هذا الخطأ ، حيث يقول ،
1:21:57لا يدعم كائن type error tuple تعيين العنصر ، لأنه غير قابل للتغيير ، لأننا لا نستطيع ذلك غيره. هذا هو الأساس الذي يمكننا من إنشاء بنية tuple. وتعلم ، tuple ،
1:22:12كما قلت ، الأمر بسيط للغاية ، ما عليك سوى إنشائه ، ثم تحصل عليه. والآن أريد التحدث إلى
1:22:16أنتم يا رفاق حول موضوع شائع في بايثون ، وهو الفرق بين المجموعات والقوائم. لذا تذكر ، القائمة تقوم بنفس الشيء في القائمة. إذا أردنا إنشاء قائمة ، فسنقوم بذلك
1:22:28فقط استخدم الأقواس المربعة بدلاً من تلك الأقواس. وإذا كنت أستخدم قائمة ، فيمكنني تعيينها قيم مختلفة له ، يمكنني بشكل أساسي تغيير أي من العناصر التي يمكنني إضافتها وحذفها ،
1:22:40تعديل التغيير ، مهما أردت مع القائمة. لكن مع tuple ، لا يمكننا فعل ذلك. وذاك نوع من الاختلاف الأساسي. وفي الحقيقة ، لا تقول بايثون أي شيء أكثر من ذلك. في الأساس
1:22:51فقط يقول مثل واحد منهم ثابت ، واحد منهم ليس كذلك. ولكن في حالات الاستخدام العملي ، بشكل عام ،
1:22:57سيستخدم الأشخاص tuples للبيانات التي لن تتغير أبدًا. لذلك سوف تقوم بتخزين البيانات داخل a tuple ، عندما لا تكون هذه البيانات بحاجة إلى تحور. هذا هو السبب في شيء مثل الإحداثيات
1:23:09هو مرشح جيد لـ tuple ، لأنه بمجرد أن يكون لديك إحداثيات ، مثل ، نحن على الأرجح لن نقوم بتعديلها ، حسنًا ، قد نضيف إحداثيات أخرى. على سبيل المثال ، إذا أردت ،
1:23:19يمكنني إنشاء قائمة من المجموعات. لذا يمكنني القول مثل 4567 ، ربما لدينا بعض الإحداثيات الأخرى ، مثل 8034. لدي هنا ، كما تعلم ، لدي قائمة وداخلها ، لدينا هذه المجموعات.
1:23:36لكن تذكر ، لا يمكن تعديل هذه المجموعات ، ولا يمكن تغيير القيم. لذا حقًا ، إنه مجرد ملف على أساس كل حالة على حدة ، أود أن أقول بأغلبية كبيرة ، أنك ستستخدم القوائم في معظم الأوقات.
1:23:48تعتبر Tuples مكانًا مناسبًا ، كما تعلم ، يستخدمون مواقف خاصة أكثر. ولكن هناك الكثير من المواقف التي تريد فيها استخدام الصفوف. لذلك إذا كنت في موقف تريد تخزينه فيه
1:23:59البيانات التي لا يمكن تغييرها أو تحويرها ، فإن tuples هي السبيل للذهاب. حسنًا ، هذه فقط بعض الأساسيات حول المجموعات ، بعض الأساسيات حول الاختلاف بين القوائم والمجموعات. وبالتالي ، فإن tuple هو a
1:24:10شيء رائع لإضافته إلى ذخيرة Python الخاصة بك. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن باستخدام الوظائف في بايثون. الآن الوظيفة هي في الأساس مجرد مجموعة من التعليمات البرمجية ،
Functions
1:24:27الذي يؤدي مهمة محددة. لذا يمكنني أخذ مجموعة من أسطر التعليمات البرمجية التي تعمل بشكل أساسي
1:24:33شيء واحد ، يمكنني وضعها داخل دالة. وبعد ذلك عندما أردت القيام بهذه المهمة أو القيام بذلك شيء واحد كانت تقوم به الوظيفة ، يمكنني فقط استدعاء الوظيفة. وهكذا يعمل حقًا
1:24:45تساعدك على تنظيم شفرتك بشكل أفضل كثيرًا ، فهي تتيح لك نوعًا من تقسيم الكود الخاص بك إلى مختلف ، كما تعلمون ، مجموعات صغيرة تقوم بأشياء مختلفة. وهم رائعون حقًا.
1:24:54لذا فإن الوظائف تشبه مفهومًا أساسيًا للغاية عندما نتحدث عن البرمجة في بايثون. لذلك أنا سأريكم يا رفاق كيفية إنشاء وظيفة رائعة اليوم. دعنا نقول لأغراض
1:25:05في هذا البرنامج التعليمي ، نريد إنشاء وظيفة تقول مرحبًا للمستخدم. لذا فإن المهمة الوحيدة التي لدينا الوظيفة التي تؤديها هي في الأساس مجرد قول مرحبًا لمن يكتب البرنامج. لذا هنا ،
1:25:17إذا كنت أرغب في كتابة دالة ، فإن أول شيء يجب أن أستخدمه هو كلمة أساسية في Python ،
1:25:22إنه يسمى الموت. لذا ، عندما ترى Python هذه الكلمة الرئيسية ، ستقول ، حسنًا ، هذا الشخص يريد استخدام دالة. لذلك بعد أن نكتب الموت ، نحتاج إلى إعطاء هذا
1:25:36وظيفة الاسم. لذلك ، كما هو الحال عند إنشاء المتغيرات ، نمنحها أسماء وصفية ، نريد أيضًا أن نفعل الشيء نفسه مع الدوال. لذا إذا كنت أقوم بإنشاء دالة ، يمكنني فقط أن أعطيها
1:25:49إنه اسم محدد ، والذي يشير في الأساس إلى ما يفعله. لذلك سنقوم بإنشاء دالة
1:25:53هذا يقول مرحبا. لذا سأقوم فقط باستدعاء هذه الوظيفة ، قل مرحبًا ، تمامًا هكذا. وبمجرد أن نكتب اسم الوظيفة ، ولذا يمكنني أيضًا كتابة مرحبًا بدون شرطة سفلية أو يمكنني الكتابة
1:26:06قل مرحبًا بشرطة سفلية ، كلاهما يعتبر من الممارسات الجيدة في بايثون. في الكثير من الأحيان، إذا كانت لديك وظيفة بسيطة مثل كلمتين مثل هذه ، فلن تحتاج إلى وضع شرطة سفلية ،
1:26:17ولكن يمكننا وضع شرطة سفلية هناك. إذا أردنا ، بعد كتابة اسم الوظيفة ،
1:26:22سأقوم فقط بكتابة أقواس الفتح والإغلاق. ثم سأكتب نقطتين. وبشكل أساسي ، ما يفعله هذا هو قوله لبايثون ، مثل ، حسنًا ، كل الكود الذي يأتي بعد هذا السطر سيكون داخل الدالة. ومن أجل كتابة رمز سينتهي به الأمر
1:26:41داخل الدالة ، فعلينا أن نضع مسافة بادئة لها. لذا هنا ، ستلاحظ ذلك عندما نقرت أدخل ، قام محرر النصوص الخاص بي تلقائيًا بوضع مسافة بادئة للنص. لذلك ، يتم تلقائيًا استخدام هذه المسافة البادئة
1:26:54هنا. وهذا يشبه نوعًا ما إحدى القواعد في Python ، مثل الكود الذي يدخل داخل هذه الوظيفة تحتاج إلى مسافة بادئة. لذلك إذا كنت سأكتب بعض الرموز ، كما هو الحال هنا ، لم يعد هذا
1:27:06سيتم النظر فيه داخل الوظيفة. لذا يمكنك أن ترى ، أثناء كتابتي للرمز ، ومن الواضح ،
1:27:11هذا ليس رمزًا حقيقيًا ، ولكن عندما أكتب نصًا هنا ، يكون هذا مُزودًا ، وهذا يشبه إلى حد ما علامة هنا بشكل أساسي يقول ، أوه نعم ، هذا داخل الوظيفة. ولكن بعد ذلك عندما أكتب التعليمات البرمجية
1:27:22هنا ، هذا ليس على نفس مستوى المسافة البادئة مثل هذه الأشياء ، لم يعد يفكر فيه داخل الوظيفة. لذلك هذا مجرد شيء بسيط. أي كود داخل هذه الوظيفة يجب أن يكون
1:27:33مسافة بادئة. حسنًا ، لذا فإن وظيفتنا ستقول مرحبًا للمستخدم. لذلك سأحصل عليها اطبع بعض النصوص ، سيقول مرحبًا ، أيها المستخدم. لذا فهذه وظيفة بسيطة للغاية. بوضوح،
1:27:47لدينا سطر واحد فقط من التعليمات البرمجية وداخل دالة ، يمكن أن يكون لديك ، كما تعلم ، العديد من الأسطر من التعليمات البرمجية كما تريد. لكن لأغراضنا ، نحتاج فقط إلى سطر واحد لأداء وظيفتنا.
1:27:57والآن كل ما علينا فعله هو استدعاء هذه الوظيفة. لذلك إذا كنت أرغب في تنفيذ الكود داخل هذا
1:28:03وظيفتي ، لا بد لي من القيام بشيء يسمى تسميته. لذلك إذا كنت سأشغل برنامجي كما هو الآن ، سأقوم بتشغيله ، ستلاحظون أنه لا شيء يحدث هنا ، أليس كذلك؟ بالرغم من
1:28:15هذه الوظيفة هي طباعة hello user ، عندما أقوم بتشغيل البرنامج ، فإنها لا تفعل ذلك. وذاك
1:28:21لأن الكود الموجود داخل الوظيفة لن يتم تنفيذه افتراضيًا. الكود الموجود داخل سيتم تنفيذ الوظيفة فقط عندما نحدد أننا نريد تنفيذها. وبالترتيب
1:28:32للقيام بذلك ، علينا القيام بشيء يسمى استدعاء الوظيفة. لذلك من أجل الاتصال
1:28:36الوظيفة ، فأنت في الأساس تكتب اسم الوظائف وأقواس الفتح والإغلاق. سأكتب فقط قل مرحبًا ، وأفتح الأقواس وأغلقها. والآن عندما نقوم بتشغيل هذا
1:28:48البرنامج مرة أخرى ، سترى أنه يطبع hello المستخدم. لذلك نحن ننفذ الكود داخل ملف وظيفة. وأريد أن أريكم يا رفاق شيئًا واحدًا آخر هنا ، فقط أتحدث إليكم يا رفاق
1:28:59كيف تعمل هذه الوظائف في الواقع. لذا هنا ، سأقوم بطباعة الجزء العلوي. ثم هنا بالأسفل ذاهب لطباعة القاع. لذلك أريد أن أوضح لكم يا رفاق تدفق هذه الوظائف داخل البرنامج. لذا
1:29:12عندما أقوم بتشغيل هذا البرنامج ، سترى أننا نطبع hello أعلى المستخدم ، ثم بالأسفل. لذلك في الأساس ، ما يحدث هو عندما تمر Python وتنفذ هذا البرنامج ، تنتقل من هنا إلى
1:29:25هذا السطر الأول يقول ، حسنًا ، نريد طباعة الكلمة أعلى. وبعد ذلك تنخفض هنا و
1:29:31تقول ، حسنًا ، نريد تنفيذ وظيفة say hi. لذا تقفز بايثون في الواقع ، وتذهب إلى هذا القول hi function ، وسوف ينفذ كل الكود داخل هذه الوظيفة.
1:29:44لذلك سيتم تنفيذ كل هذه التعليمات البرمجية. وبعد ذلك بمجرد الانتهاء من تنفيذ كل التعليمات البرمجية في الوظيفة ، ستقفز مرة أخرى هنا ، وستنتقل إلى السطر التالي ،
1:29:53وهو القاع. هذا يشبه إلى حد ما تدفق الدوال. مرة أخرى ، مع الوظائف بشكل عام ، عندما نقوم بتسمية هذه الوظائف ، فأنت تريد تسميتها كلها بأحرف صغيرة. وعادة ،
1:30:06عندما نقوم بتسمية الأشياء في بايثون ، إذا كانت هناك كلمتان أو أكثر ، فسنستخدم مسافة سفلية أو شرطة سفلية بينهما. لذا يمكنني كتابة هذا على أنه تسطير أسفل السطر مرتفع. لكن في الكثير
1:30:17من المواقف ، على الرغم من ذلك ، إذا كانت لدي وظيفة مثل هذه حيث يكون الاسم قصيرًا حقًا ، فقد أفعل ذلك يكون من الأسهل تركها بدون شرطة سفلية ، ولكن لماذا لا نضع فقط شرطة سفلية هناك فقط
1:30:25ليكون مسؤول سوبر بايثون. حسنًا ، يمكننا الآن جعل هذه الوظائف قليلًا اقوى. وما يمكننا فعله هو أن نمنحهم معلومات. لذلك في كثير من الأحيان عندما نكتب
1:30:38دالة ، نريد الحصول على معلومات إضافية يتم تمريرها. وهذه هي تسمى المعلمات. لذا فإن المعلمة هي جزء من المعلومات نعطيها للدالة. مفرط
1:30:52هنا ، يمكنني تحديد أن هذه الوظيفة تحتاج إلى تلقي بعض المعلمات. لذلك يمكنني في الأساس قل مثل ، مرحبًا ، إذا كنت تريد استدعاء هذه الوظيفة ، فأنت بحاجة إلى تزويدنا ببعض المعلومات ،
1:31:02تحتاج إلى إعطائنا بعض المعايير. وكل ما علي فعله هو كتابة الاسم من المعلمة التي أريد الحصول عليها. فلماذا لا نسمح للكود الذي يستدعي هذه الوظيفة
1:31:13أخبره ما هو الاسم لأقوله مرحبًا هنا ، يمكنني فقط أن أقول الاسم. وبشكل أساسي ، ما يعنيه هذا هو ذلك
1:31:19يعني أنه كلما أطلقت على هذه الوظيفة "قل مرحبًا" ، يجب أن نطلق عليها اسمًا. لذلك هنا في الأسفل ، إذا كنت سأتصل
1:31:26هذا ، يجب أن أدرج اسمًا هنا. لذا يمكنني أن أقول مثل مايك ، وما يمكننا فعله الآن هو أننا نستطيع
1:31:31الوصول بالفعل إلى هذا المعامل أو هذا المتغير داخل وظيفتنا. لذلك يمكنني المجيء إلى هنا وبدلاً من أن أقول مرحبًا أيها المستخدم ، يمكنني أن أقول اسمًا مرحبًا. وبشكل أساسي ، ما سيفعله هذا هو
1:31:45سيقول مرحبًا لأي اسم تم نقله هنا. لذا سأقوم في الواقع بنسخ هذا وسنفعل هذا مرتين. لذلك سأقول مرحبا مايك مرحبا ، ستيف. والآن عندما أقوم بتشغيل هذا البرنامج ،
1:31:59ستلاحظ أنه بدلاً من مجرد إلقاء كلمة مرحبًا بالمستخدم ، فإنه يرحب بأي اسم مررت به في الوظيفة. لهذا السبب يمكن أن يكون هذا مفيدًا حقًا ، أليس كذلك؟ يمكننا إعطاء الوظيفة
1:32:10المعلومات ، واعتمادًا على المعلومات التي نقدمها ، ستؤدي مهمتها قليلاً بشكل مختلف. يمكنني أيضًا تضمين أكثر من متغير واحد. لذا يمكنك ، أعني ، تقنيًا ، أنت
1:32:20يمكن أن يكون مثل العديد من المعلمات كما تريد. لذا يمكنني وضع واحدة أخرى هنا ، يمكننا أن نقول العمر.
1:32:25والآن سأضطر إلى المرور في عصر مع هؤلاء. لذلك سأمر في العمر و تمر في عصر لأسفل هنا. وسأقوم فقط بالمرور في سلاسل. لذلك يمكننا أن نقول اسم مرحبا.
1:32:43عمرك. لذا فأنا أمرر جزأين من المعلومات. والآن عندما نقوم بتشغيل هذا البرنامج ، سوف تستدعي الوظيفة. وستستخدم كلا الجزأين من المعلومات. لذا أنا
1:32:54قل مرحبًا ، مايك ، عمرك 35 عامًا. مرحبًا ، ستيف ، عمرك 70 عامًا. لذلك بشكل أساسي ، نكتب هذا السطر
1:33:02من الشفرة ، والتي تطبع مثل مرحبًا لشخص ما. ونحن نسمح باستقبال هذه الدالة معلمتين. إذن الاسم والعمر ، واعتمادًا على الاسم والعمر ، الوظيفة
1:33:13سأطبع مرحبًا بطريقة مختلفة قليلاً. وهذا نوع من جمال استخدام الوظيفة. لذلك يمكنك تمرير أي شيء تريده إلى دالة. على سبيل المثال ، يمكنني تمرير عدد صحيح بدلاً من ذلك
1:33:26من خيط للعمر. لذا مثلما يمكنني تمرير الرقم ، فإن الاختلاف الوحيد هنا ،
1:33:31علينا تحويل هذا إلى سلسلة. لكنها ستعمل بنفس الطريقة. وانت ايضا يمكن أن تمرر في سلاسل وأرقام وسبائك ومصفوفات ، يمكنك حقًا تمرير أي نوع من البيانات إلى ملف
1:33:46وظيفة. وستعمل. يمكنكم أن تروا هنا أننا حصلنا على نفس النتيجة. إذن هذه هي الأساسيات
1:33:50من الوظائف. ومع تقدمك في Python ، ستستخدم الوظائف أكثر فأكثر. وعمومًا ، من الجيد تقسيم الكود الخاص بك إلى وظائف مختلفة. لذلك كلما كنت
1:34:01لديك مثل مجموعة من التعليمات البرمجية المصممة لأداء مهمة محددة ، وهذا عادة ما يكون جيدًا المرشح الذي سيتم وضعه داخل الوظيفة. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن
Return Statement
1:34:16باستخدام تعليمة الإرجاع في دوال بايثون. الآن وظيفة Python هي في الأساس مجرد مجموعة من كود Python الذي يؤدي مهمة محددة. وعندما نريد أداء هذه المهمة في بايثون
1:34:29البرامج ، يمكننا استدعاء دالة بايثون. وفي كثير من الأحيان عندما نستدعي دالة بايثون ،
1:34:36نحن فقط نسميها نوعًا ما وتقوم بعملها. ثم ننتقل إلى البرنامج. ولكن احيانا عندما نسمي دالة ، سنريد فعلاً استعادة المعلومات من تلك الدالة.
1:34:47لذلك عندما أستدعي الوظيفة ، أريدها أن تنفذ مهمتها بشكل أساسي ، أريدها أن تنفذ كل ملفات شفرة. وبعد ذلك أريد أن يعجبني أن تعطيني بعض المعلومات مرة أخرى. لذلك يمكن أن يكون مثل معين
1:34:57قد يكون شيئًا مثل إخباري كيف سارت المهمة. في الأساس ، يمكن للوظيفة فقط التواصل معنا مرة أخرى مثل ، مرحبًا ، إليك بعض المعلومات. وهذا ما هي الكلمة الرئيسية العودة
1:35:07يمكن أن تسمح لنا بالقيام بكلمة إرجاع يمكن أن تسمح أساسًا لبيثون بإرجاع المعلومات من وظيفة. لذلك سأريكم يا رفاق كيف يمكننا القيام بذلك ، أريد أن أبتكر طريقة بسيطة للغاية
1:35:19وظيفة. وسوف تكعيب رقمًا فقط. لذلك عندما نتكعب عددًا ، نأخذها للقوة من ثلاثة. لذا إذا كنت سأقوم بتكثيف مثل اثنين ، فسيكون مثل اثنين مرفوعًا للقوة ثلاثة.
1:35:31حسنًا ، إنها مجرد رياضيات أساسية جدًا. لذلك سنقوم بعمل دالة تكعيب عددًا. وسأريكم يا رفاق كيف يمكننا استخدام بيان الإرجاع هذا. لذا فإن أول شيء نريد القيام به هو صنعه
1:35:41دالة ، سأقول فقط مكعب الموت ، وسنسمي مكعب الوظيفة. وهنا ، يمكننا تحديد أي معلمات ستستغرقها هذه الوظيفة. لذلك ، في الأساس ، أي قيم نريدها
1:35:54لإعطاء هذه الوظيفة. لذلك سنقوم بإعطائها دالة واحدة ، والتي ستكون مجرد رقم.
1:35:58لذا سأسميها الأسطوانات. ثم هنا ، سأكتب نقطتين. وبعد ذلك هنا ، يمكننا وضع أي من الكود الذي نريد تضمينه في هذه الوظيفة. إذن ، هذه الوظيفة ستكعب هذا العدد بشكل أساسي. حتى نتمكن من كتابة الأسطوانات
1:36:15مرات الأسطوانات ، مرات الأسطوانات حسنًا ، سيعطينا هذا العدد تكعيبًا. لذلك هذا كل شيء جيد وجيد. و إذا جئت إلى هنا ، يمكنني تنفيذ هذه الوظيفة. لذلك يمكنني ببساطة أن أسميها ، سأقول المكعب.
1:36:28ولماذا لا نجتازها بثلاثة؟ لذا سأقوم بتمريرها إلى ثلاثة. وانا ذاهب لانقاذ هذا. والآن دعنا نمضي قدمًا ونشغل هذا الكود. لذلك نحن على الكود. وسترى أسفل
1:36:43هنا ، لم يحدث شيء ، أليس كذلك؟ لذلك لم تتم طباعة أي شيء في برنامجنا. في الحقيقة ، عندما نتصل وظيفة المكعب هذه ، لم تفعل شيئًا حقًا. لذا اسمحوا لي أن أحاول طباعة هذا. لذلك ربما إذا كنا
1:36:56اطبع هذه الوظيفة ، ستعيد إلينا المعلومات التي نريدها. لذا اكتب طباعة ، وسنقوم بطباعة قيمة الوظيفة ، سأقوم فقط بالنقر فوق تشغيل. أنت تنظر إلى الأسفل هنا ،
1:37:06تقول لا شيء. لذلك عندما طبعت قيمة هذه الوظيفة ، لم تخبرني بأي شيء. لكن حقا، من المفترض أن تكون هذه الدالة تكعيب العدد. وإليك كيف يمكننا استخدام بيان الإرجاع
1:37:19في بايثون. يمكنني المجيء إلى هنا ويمكنني فقط أن أقول العودة. والآن ستعود بايثون مهما كانت القيمة التي نضعها هنا على اليمين. لذلك عندما أسمي هذه الدالة المكعبة ، وأعطيها أ
1:37:32ثالثًا ، ستنطلق بايثون ، وستقوم بتنفيذ هذه الوظيفة. عندما ترى هذا العودة البيان ، سيقول ، حسنًا ، أريد إعادة قيمة إلى أي استدعاء لهذه الوظيفة.
1:37:43وسيعيد هذه القيمة. الآن ، عندما أطبع المكعب الثالث ، يجب أن يطبع ملف الجواب لأننا حصلنا على إجابة. لذلك عندما ألعب هذا ، سترى هنا ، تقول 27. لذا
1:37:58لقد حصلنا على الإجابة الصحيحة. لذلك يمكنني فعل ذلك بأي شيء ، فلماذا لا نتكعب مثل أربعة أو
1:38:02شئ ما؟ لذلك نحن الآن على هذا. ويمكنك أن ترى أننا نحصل باستمرار على الإجابة الصحيحة. إذن هذه هي أساسيات استخدام بيان الإرجاع هذا ، فهو يتيح لنا إعادة قيمة إلى
1:38:15المتصل. بعبارة أخرى ، عد إلى أي شيء يستدعي الوظيفة. لذلك أريد فقط أن أوضح هذا نقطة أبعد قليلاً ، سأأتي هنا ، سأقوم بالفعل بإنشاء متغير.
1:38:23لذلك سأقوم بإنشاء متغير يسمى النتيجة. وسأساويها بالمكعب أربعة. ستقوم هذه النتيجة المتغيرة بتخزين القيمة التي يتم إرجاعها من دالة المكعب. إذن كذلك
1:38:37لن يخزن مثل المكعب الرابع ، بل سيخزن القيمة التي يتم إرجاعها من التنفيذ تلك الوظيفة. إذاً الآن إذا جئت إلى هنا وطبعت النتيجة ، فسيكون ذلك في الواقع
1:38:47اطبع 64 مرة أخرى ، لأن هذه هي القيمة التي يتم تخزينها. لذلك يمكن أن يكون بيان العودة هذا
1:38:53من المفيد حقًا استعادة المعلومات من دالة ، يمكننا استخدام شيء مثل a المعلمة ، مثل هذه الأربعة كمعامل ، ويمكننا إعطاء معلومات للدالة. وبعده نحن
1:39:03يمكن استخدام عبارة الإرجاع للحصول على معلومات من دالة. وأنا أريد فقط أن أشير شيء آخر ، أنا في الواقع غير قادر على وضع أي كود بعد بيان الإرجاع هذا. لذلك إذا كنت
1:39:16جئت إلى هنا وحاولت أن تضع مثل بيان مطبوع ، هذا في الواقع لن ينجح. اذن هذا هو
1:39:21لن تتم طباعتها أبدًا. لذلك إذا كتبت للتو مثل الرمز هنا ، عند تشغيل هذا البرنامج ، لن يكتب الرمز. هذا لأنه عندما أستخدم كلمة العودة الرئيسية هذه ، فإنها تفرقنا
1:39:35من الوظيفة. لذلك سوف تمر بايثون ، وستقوم بتنفيذ الكود في الوظيفة ، عندما ترى هذه الكلمة الرئيسية للعودة ، فسوف تنفجر مرة أخرى وسنكون كذلك
1:39:44منتهي. لذلك لن نتمكن أبدًا من الوصول إلى هذا السطر من التعليمات البرمجية. إذن هذه هي أساسيات استخدام الإرجاع صياغات. ويمكنك إرجاع أي نوع بيانات تريده ، ويمكننا إرجاعه بسهولة مثل سلسلة أو ملف
1:39:56منطقي أو مصفوفة ، لا يهم حقًا ، يمكنك إرجاع ما تريد. وفي كثير من الأحيان في كثير من المواقف ، سترغب في استعادة قيمة من دالة.
If Statements
1:40:09في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق حول استخدام عبارات if في بايثون. الآن إذا البيانات
1:40:15هي بنية خاصة في Python ، حيث يمكننا بالفعل مساعدة برامجنا على اتخاذ القرارات. لذا باستخدام عبارة if ، يمكنني تنفيذ كود معين عندما تكون شروط معينة صحيحة. واستطيع
1:40:28تنفيذ التعليمات البرمجية الأخرى عندما تكون الشروط الأخرى صحيحة. لذلك في الأساس إذا كانت البيانات تسمح لبرامجنا بذلك الرد على المدخلات التي قدموها. بناءً على البيانات التي نستخدمها في البرنامج ،
1:40:40ستكون برامجنا قادرة على الاستجابة. لذلك عندما تكون بعض البيانات عبارة عن قيم معينة ، يمكننا فعل ذلك بشكل مؤكد
1:40:46أشياء. وعندما تكون البيانات الأخرى عبارة عن قيم أخرى ، يمكننا القيام بأشياء أخرى. لذلك أنت تعرف ، برامجك
1:40:51أصبحت في الأساس أكثر ذكاءً. وفي الواقع ، إذا كانت العبارات هي الأشياء التي نعتبرها بشرًا تعامل مع كل يوم. لذا فأنت تعلم ، مع تقدمك طوال يومك ، بشكل عام ، أنك تتعامل مع ما إذا كان
1:41:02البيانات في كل وقت. لذا أود أن أقدم لكم نوعًا ما مقدمة موجزة عن العبارات ،
1:41:07وسنتحدث عن بعض العبارات الشائعة التي قد تراها في الحياة اليومية. وبعد ذلك سنمضي قدمًا ونقدم مثالًا رائعًا حقًا لنظهر لك يا رفاق ماذا لو
1:41:15يمكن أن تفعل البيانات بالنسبة لنا. إذن هنا في محرر النصوص لدي ، لدي هذا الملف النصي الصغير. وهنا ، كتبت مجموعة من العبارات التي سيواجهها الكثير من الناس يوميًا
1:41:27أساس. هذا هو أول واحد ، يقول أنني استيقظ ، إذا كنت جائعًا ، أتناول الفطور. لذلك دعونا نكسر هذا أسفل قليلاً هنا ، مكتوب إذا كنت جائعًا. وهذا شرط صحيح؟ هذا هو
1:41:40إما أن تكون صحيحة ، أو أنها ستكون خاطئة ، أليس كذلك؟ إذا كان هذا صحيحًا ، فسأمضي قدمًا و تناول الفطور ، صحيح؟ إذا كانت خاطئة ، فسأتخطى كل ما كان هنا وأمضي قدمًا ،
1:41:53يمين؟ إذن هذه هي أساسيات عبارة if ، أليس كذلك؟ لدينا شرط ، في هذه الحالة ، إذا كنت
1:41:58جائعًا ، إذا كان الشرط صحيحًا ، فسنقوم بالعمل. لذلك نحن نتناول الفطور. خلاف ذلك، نحن فقط نتخطاه. لذا هنا بالأسفل ، لدينا واحد آخر ، مكتوب عليه أنني أغادر منزلي. إذا كان الجو غائما
1:42:11أحضر مظلة. خلاف ذلك ، أحضر نظارات شمسية. وبالتالي فإن هذا أكثر تعقيدًا من الذي نظرنا إليه للتو. سترى أن لدينا حالتنا ، أليس كذلك؟ تقول إذا كان الجو غائما
1:42:23إذا كان هذا الشرط صحيحًا ، فسنحضر المظلة. ولكن في هذه الحالة ، إذا كان الشرط خطأ ، هناك شيء آخر نريد القيام به. لذلك في القضية هنا ، إذا كان هذا الشرط
1:42:34خطأ ، لقد انتقلنا للتو. ولكن الآن إذا كانت هذه الحالة خاطئة ، فسنمضي قدمًا ونقدمها نظارة شمسيه. هذا مثال آخر لبيان if ، فهو أكثر تعقيدًا بعض الشيء.
1:42:44أخيرًا ، لدي واحد آخر هنا ، وهذا أكثر تعقيدًا ، يقول أنني في مطعم.
1:42:50إذا أردت اللحم ، أطلب شريحة لحم. إذا كان هذا الشرط صحيحًا ، فنحن نطلب شريحة اللحم. لكن إذا كان هذا
1:42:56الشرط خاطئ ، ثم سننتقل ، وسنتحقق بالفعل من حالة أخرى. لذلك سأقول خلاف ذلك ، إذا كنت أريد المعكرونة ، أطلب المعكرونة وكرات اللحم. هذا شيء آخر
1:43:08حالة. إذا كان هذا الشرط صحيحًا ، نحصل على السباغيتي. إذا لم يكن هذا صحيحًا ، فأخيرًا ، سننتقل إلى الأسفل هنا ، وسنقوم فقط بطلب السلطة بشكل افتراضي. لذلك كل ثلاثة من
1:43:20إن عبارات if هذه صالحة إذا كانت عبارات if صالحة ، فهي فقط تزداد تعقيدًا كلما نزلنا القائمة. لذا ، آمل أن يكون هذا ، كما تعلم ، يمكن أن يلف رأسك حول عبارات ماذا لو
1:43:30نحن في الأساس نحدد الشروط. إذا كانت هذه الشروط صحيحة ، فسنقوم ببعض الأمور أشياء. وإذا كانت هذه الشروط خاطئة ، فيمكننا القيام بأشياء أخرى ، أو يمكننا التحقق من الشروط الأخرى.
1:43:40حسنًا ، دعنا ننتقل إلى ملف بايثون الخاص بنا ، وسنبدأ في كتابة بعض بايثون الفعلية.
1:43:45هنا في ملف التطبيق dot Python الخاص بي ، أريد إنشاء بيان if. وسأعرض أنتم يا رفاق عبارة أساسية جدًا في هذا البرنامج التعليمي. ثم في البرنامج التعليمي التالي ، سنقوم بذلك
1:43:56انظر إلى بعض عبارات if الأكثر تقدمًا. وما أريد فعله هو إنشاء متغير منطقي. لذلك سأقوم بإنشاء متغير منطقي يقوم بتخزين ما إذا كان المستخدم بريدًا أم لا.
1:44:07لذلك سيتم استدعاؤه بالبريد المسطر. وسأساوى هذا في القيمة الحقيقية ،
1:44:13لأنني ذكر. إذن لدينا هذا المتغير المنطقي ، أليس كذلك؟ والآن لدينا مجموعة يساوي صحيح. يمكنني بالفعل استخدام عبارة if للتحقق لمعرفة قيمة هذا المتغير
1:44:25يكون. وإذا كان هذا صحيحًا ، يمكنني فعل شيء ما. لذلك إذا أردت استخدام عبارة if ، فكل ما علي فعله
1:44:31هو فقط اكتب إذا ، وبعد ذلك أحتاج فقط إلى كتابة شرط. لذلك ، في الأساس ، يجب أن أكتب يبدو وكأنه شيء سيكون صحيحًا أو خاطئًا. مثل ، على سبيل المثال ، في الصفحة الأخرى ، نحن
1:44:44نحدد مثل ، إذا كنت جائعًا ، أو إذا كان الجو غائمًا ، هنا ، سنقوم فقط بفحص ما إذا كان هو البريد. بمعنى آخر ، إذا كان الشخص ذكرًا. لذا تذكر ، يجب أن يكون هذا ، مثل ، يجب أن يكون
1:44:57تكون قابلة للاختزال إلى قيمة صحيحة أو خاطئة. لذلك في حالتنا ، نحن نستخدم قيمة منطقية ، لأن هذا أسهل ما يمكننا فعله. لذلك قلت إذا حددت حالتي الصواب أو الخطأ ،
1:45:11والآن أريد فقط كتابة نقطتين. وما أريد فعله الآن هو إنشاء سطر جديد. و حينئذ أي شيء أضعه أسفل هذا بمسافة بادئة سيتم تنفيذه بالفعل عند ذلك
1:45:24الشروط صحيحة. حتى أتمكن من وضع المطبوعات. وهنا في الأسفل ، يمكنني فقط أن أصف أنك ذكر.
1:45:32والآن سترون ما سيحدث عندما أقوم بتشغيل هذا البرنامج ، سينزل هنا ،
1:45:36وسيقول أنك ذكر. ولكن إذا قمت بتغيير البريد إلى false. بدلا من هذا لكونها صحيحة ، قمت بتغييرها إلى خطأ. الآن فجأة لن يقوم بطباعة أي شيء. لذا
1:45:47ستكون فارغة هنا. هذا لأن هذا الشرط لم يكن صحيحًا. لذلك أي شيء التي أضعها أدناه إذا كان الإعلان الذي يحتوي على مسافة بادئة مثل هذا سيتم تنفيذه
1:46:01عندما تكون عبارة if صحيحة. يمكننا أيضًا استخدام كلمة رئيسية أخرى في Python ، والتي تسمى else. وما عدا ذلك سيكون في الأساس مثل خلاف ذلك. لذلك تتذكر قبل أن نقول ، إذا كان الجو غائمًا ،
1:46:14سأحضر مظلة. وإلا سأحضر النظارات الشمسية. حسنًا ، سيكون هذا مثلنا خلاف ذلك. لذلك أستطيع أن أقول هنا في الأسفل. والآن أي شيء أضعه أدناه سيحصل عليه
1:46:26مطبوعة عندما لا يكون هذا الشرط صحيحًا. فلماذا لا نقول فقط أنك لست ذكرًا.
1:46:32يمكننا الآن تغطية كلتا الحالتين لهذا المتغير. إذا كان خطأ ، يمكننا تغطية هذا الوضع. لذلك تقول أنك لست ذكرا. إذا كان هذا صحيحا، يمكننا تغطية هذا الوضع أيضًا. لذلك سيقول أنك ذكر. هذا رائع جدًا.
1:46:49لكن يمكننا أيضًا جعلها أكثر تعقيدًا. وفي الواقع قبل أن أتحدث عن ذلك ، يمكنك وضع أكبر قدر تريده من الكود داخل جملة if. لذلك يمكن أن يكون لدي مثل ،
1:46:58كما تعلم ، عشرات الأسطر من التعليمات البرمجية إذا أردت. أنا فقط أعطيكم يا رفاق مثالًا بسيطًا جدًا.
1:47:03فلماذا لا نجعل هذا أكثر تعقيدًا؟ وسأضيف متغيرًا آخر إلى الخليط. لذا سأضيف سمة منطقية أخرى ، كما تعلمون ، إلى هذا المزيج. سأقوم بعمل متغير آخر
1:47:14يسمى طويل القامة. وسنساوي هذا أيضًا بـ "صحيح". الآن لدي متغيرين في الخليط. لنفترض أنني أردت كتابة عبارة if التي ستتحقق من هذين المتغيرين. لذا أنا
1:47:28يمكن أن يكتب بيان إذا كان مشابهًا ، إذا كانوا ذكورًا وطويلات ، أو إذا كانوا ذكورًا و
1:47:32إنهم ليسوا طويلين ، أو إذا لم يكونوا ذكورًا وهم طويلون ، كما يمكنني كتابة مجموعة من إذا عبارات للتحقق من مجموعة هذه المتغيرات. وبالتالي فإن الطريقة التي يمكنني بها فعل ذلك هي باستخدام
1:47:44واحدة من كلمتين رئيسيتين. لذا فإن الكلمة الرئيسية الأولى التي أريد أن أعرضها لكم يا رفاق هي الكلمة الرئيسية أو. حتى أتمكن من المجيء
1:47:51هنا ويمكنني أن أقول ما إذا كان ذكرًا أم أنه طويل القامة. وما سيفعله هذا في الأساس هو سيقول ما إذا كان الشخص إما ذكر ، أو إذا كان طويل القامة ، فنحن نريد أن نفعل شيئًا. لذا
1:48:08سيكون هذا صحيحًا فقط عندما تكون إحدى هذه القيم صحيحة ، عندما تكون إحدى هاتين القيمتين أو كليهما
1:48:14صحيح. لذلك في الأسفل هنا ، يمكننا في الواقع أن نضعك بدلاً من أن تكون ذكرًا ، يمكننا أن نضعك كذكر أو طويل القامة أو كليهما ، سيكون ذلك أكثر ملاءمة. ثم هنا بالأسفل ، يمكننا أن نقول إنك كذلك
1:48:29لا ذكر ولا طويل. وذلك لأننا إذا نفذنا الكود داخل هذا الأمر الآخر ، هذا يعني أن كلا الرجلين زائفين. حسنًا ، لذلك أقول إن كانوا ذكورًا أم طويلين ،
1:48:42سنقوم بتنفيذ كل ما هو موجود هنا. خلاف ذلك ، هذا يعني أنهم ليسوا ذكرًا ولا طويل القامة. كان سأقوم بتنفيذ هذا هنا. لذا اسمحوا لي أن أريكم يا رفاق كيف يعمل هذا. سوف انقر فوق تشغيل. و
1:48:53كلاهما صحيح. لذلك سيقول أنك ذكر أو طويل أو كلاهما. إذا كنت سأضع واحدة من هذه إلى كاذبة. لذلك دعونا المجموعة هي ذكر يساوي خطأ. الآن ، ما زال يقول أنك ذكر
1:49:06أو طويل القامة أو كليهما. ولكن إذا قمت بضبطهما على قدم المساواة مع خطأ ، فسوف أقول إنك لست كذلك
1:49:13ذكر ولا طويل القامة. هذا نوع من أساسيات استخدام عامل التشغيل. وهناك عامل آخر يمكننا استخدام ما يسمى و ، وهو في الأساس مشابه لهذين الشرطين أو باستثناءهما
1:49:27يجب أن يكون صحيحًا. هذا يعني بشكل أساسي ما إذا كان الشخص ذكرًا وهو أيضًا طويل القامة ، ثم سنقوم بتنفيذ كل ما هو موجود هنا. لذلك يمكننا بالفعل تغيير هذا النص ليقول لك
1:49:39ذكر طويل القامة ، لأننا نعرف حقيقة أنه إذا تم إعدامه ، فهما من الذكور وطويل القامة. يمكننا أيضًا تغيير بيان الطباعة هذا هنا. هذا يمكن أن يقول أنك إما لست ذكرا
1:49:54أو ليس طويلاً أو كليهما. لذلك يمكنك أن ترى أنه ببساطة يقول أنك إما لست واحدًا منهم أو أنك لست كلاكما. لذلك نضغط على زر التشغيل وسترى لأن كلاهما خطأ ،
1:50:08سيقول أنك إما لست ذكرًا أو لست طويل القامة أو كليهما. ولكن إذا جعلتهما صحيحين ، الآن سيقول أنك رجل طويل. إذا كنت سأفعل أحد هذه الأخطاء ،
1:50:21على الرغم من ذلك ، لذلك دعونا نجعل طويل القامة خطأ. الآن لن يتم تنفيذ أول بيان طباعة. سوف ينفذ واحد بداخل الآخر. حتى أقول إنك إما لست ذكرا أو لست طويل القامة
1:50:32او كلاهما. إذن هذه هي أساسيات و أو وستستخدمها كثيرًا كما تستخدم إذا صياغات. ولكن في الواقع هناك شيء آخر يمكننا القيام به. يمكننا إضافة المزيد من الشروط.
1:50:45لذا فأنا أتحقق هنا مما إذا كانوا ذكورًا وأنهم طوال القامة. ولكن ماذا لو أردت التحقق مما إذا كانوا
1:50:51وهم ليسوا طويلين؟ لذلك إذا كانوا مثل ذكر قصير ، يمكنني استخدام كلمة رئيسية أخرى في Python تسمى وإلا إذا تمت كتابة ELIF فقط أو حقًا ، فهذا يعني أنه إذا تمكنا من وضع ذلك وبعده
1:51:05شرط آخر. لذا أريد أن أتحقق من وجودهم هنا لمعرفة ما إذا كانوا من الذكور وليسوا طوال القامة. لذلك سأقول آخر إذا كان الذكر ذكرًا والآن يمكنني كتابة كلمة ليست طويلة والطريقة التي يمكنني القيام بها
1:51:19هو عدم وجود قوسين مفتوحين ومغلقين والقول طويل. وبشكل أساسي عندما أستخدم هذا لا يعمل ، فإنه سينفي كل ما بداخله. لذلك إذا كان هذا صحيحًا ، فسيحدث
1:51:32هذا خطأ وإذا كان هذا غير صحيح فسوف يجعله صحيحًا. لذلك سيخبرنا ذلك بشكل أساسي ما إذا كان أو
1:51:37ليسوا طويلين. ثم سأستخدم النقطتين والآن هنا في الأسفل هنا نحن في الأساس سنقوم فقط بكتابة أي من الكود الذي نريد أن يحدث عندما يكون هذا الشرط صحيحًا. لذلك أسفل
1:51:50هنا يمكننا فقط طباعة أنك ذكر قصير وهناك بالفعل شرط آخر نريده للتحقق مما إذا كانوا ليسوا ذكورًا وأنهم طويلون. حتى نتمكن من صنع واحد آخر إذا
1:52:05وسأقوم في الواقع بنسخ هذا الرجل وسنلصقه هنا. ولذا أريد أن أقول إذا ليس من الذكور وهو طويل. لذلك نحن الآن نتحقق لمعرفة ما إذا كانوا ذكورًا أم أنهم ليسوا ذكورًا
1:52:23وهم طويلون. لذلك يمكننا أن نقول هنا أنك لست ذكرًا ولكنك طويل القامة. لذلك في الأساس هنا لدينا عبارة if التي ستغطي كل شرط لهذين المتغيرين. لذا
1:52:39في كل حالة من قيمتي هذه المتغيرات ، سنكون قادرين على طباعتها شيء من أجله. لذلك إذا جعلت كلا الأمرين صحيحًا ، فسيخبرنا بشكل أساسي أنك أ
1:52:50ذكر طويل القامة. إذا جعلت من الخطأ ذكرًا ، فسيخبرنا أنك لست ذكرًا ولكنك طويل القامة. إذا فعلت هو ذكر صحيح وطويل القامة سيخبرنا أنك ذكر قصير. وإذا صنعت كلا من
1:53:08هذه خاطئة ستخبرنا أنك إما لست ذكرًا أو لست طويل القامة أو كليهما. وفي الواقع نحن بحاجة إلى ذلك
1:53:14غير هذا. لذلك يجب أن يقول هذا أنك لست ذكرًا ولست طويل القامة. لذلك ستكون طباعة أفضل لهذه الحالة. لذلك يمكنك أن ترى بشكل أساسي كيف يمكننا استخدام ifs وغير ذلك من أجل مساعدتنا
1:53:31برنامج لاتخاذ القرارات والاستجابة حقًا للبيانات المختلفة في برامجنا. لذلك أنا قادر للرد على كل مجموعة من قيم هذين المتغيرين. وهذا رائع حقًا. حتى في
1:53:44في هذا المثال ، كنا نستخدم فقط متغيرات منطقية بسيطة ولكن في البرنامج التعليمي التالي سأوضح لك
1:53:50يا رفاق ، كيف يمكنك استخدام شيء يسمى عوامل المقارنة. لذلك يمكننا المقارنة مثل اثنين أرقام أو سلسلتين ويمكننا استخدامهما كشرط لنا. لكن في الوقت الحالي أعتقد أن هذا أمر جيد
1:54:01مقدمة في عبارات if. لذلك سأراكم يا رفاق في البرنامج التعليمي التالي. في هذا البرنامج التعليمي أريد للتحدث إليكم أكثر عن العبارات في بايثون. بشكل أكثر تحديدًا سنبحث
If Statements & Comparisons
1:54:16في استخدام المقارنات داخل عبارات if الخاصة بنا. لذلك إذا كنت تتابع الدورة التدريبية في آخر برنامج تعليمي تحدثت فيه معكم يا رفاق حول أساسيات عبارات if واستخدمنا زوجين
1:54:27متغيرات منطقية مختلفة. واعتمادًا على قيم تلك السبائك ، تمكنا من التأكد من ذلك
1:54:32أشياء. في هذا البرنامج التعليمي ، سنلقي نظرة على طريقة أخرى لاستخدام عبارات if المتوافقة مع مقارنات. لذلك بدلاً من مجرد استخدام القيم المنطقية ، يمكننا بالفعل مقارنة القيم المختلفة. لذا أنا
1:54:44يمكن أن أقارن بين عددين أو أن أقارن بين عدة سلاسل. واعتمادا على نتائج تلك المقارنات يمكننا القيام بأشياء معينة. لذلك سيكون هذا رائعًا جدًا. وهذا حقاً
1:54:55سيمنحكم يا رفاق فهمًا كاملاً لما يمكنك فعله باستخدام العبارات. لذلك من أجل هذا البرنامج التعليمي أريد في الواقع إنشاء وظيفة بايثون. وستعطينا هذه الدالة قيمة
1:55:07العدد الأقصى الذي نمرره فيه. لذلك ستأخذ هذه الوظيفة ثلاثة معلمات كمدخلات و ستطبع أكبر رقم نقدمه لها. لذلك دعونا ننشئ هذه الوظيفة. أنا سأقول الموت. وسأسميها max num. وداخل هذه الأقواس أنا
1:55:28سأحدد أنني أريد ثلاث معلمات كمدخلات. لذا سأقول العدد واحد والعدد اثنان العدد ثلاثة. إذن ، نقوم بتمرير ثلاثة أعداد بشكل أساسي وستعيد هذه الدالة الأكبر
1:55:42من الثلاثة. لذا من أجل معرفة أي من هذه الأعداد هو الأكبر سنضطر إلى ذلك استخدم عبارة if. لذلك يمكنني أن أقول إن كنت بحاجة إلى تحديد شرط صحيح ، لذلك أحتاج إلى ذلك
1:55:55ضع مثل قيمة صواب أو خطأ. وما يمكننا فعله في الواقع هو أنه يمكننا مقارنة هذه الأشياء المختلفة
1:56:01أعداد. لذا يمكنني القول ما إذا كان العدد واحد أكبر من العدد اثنين أو يساوي. وعدد واحد أكبر من أو يساوي العدد ثلاثة. لذا فإن ما أفعله هنا هو أنني أقارن هذه الأشياء المختلفة
1:56:18أعداد. لذا أقول ما إذا كان الرقم الأول أكبر من أو يساوي الرقم الثاني. و هذه مقارنة. لذلك عندما تفكر في الأمر ، عندما نقارن هذين العددين ، سنقوم بذلك
1:56:29ينتهي الأمر بقيمة صواب أو خطأ. على اليمين ، العدد واحد أكبر من أو يساوي العدد اثنين أو
1:56:35ليست كذلك. إنها في الواقع قيمة منطقية صحيحة إما أنها صحيحة أو خاطئة. نفس الشيء هنا. نتيجة هذه المقارنة إما صحيحة أو خاطئة. لذلك من الناحية الفنية أضع صحيحًا أو
1:56:48هناك قيمة خاطئة. أنا فقط أحصل على تلك القيمة الصحيحة أو الخاطئة باستخدام المقارنة. وسوف تفعل لاحظ هنا أننا نستخدم شيئًا يسمى عامل المقارنة. وهذا في الأساس مجرد
1:57:00مثل الطريقة التي نريد مقارنتها. لذلك نقول مثل أكبر من أو يساوي في هذه الحالة.
1:57:05لذلك في الأسفل هنا ، إذا كان هذا الشرط كله صحيحًا ، بمعنى آخر ، إذا كانت نتائج هذين الشرطين تصبح المقارنات صحيحة ، ثم نعلم أن الرقم واحد هو الأكبر. لذا يمكنني العودة فقط
1:57:18الرقم واحد ، أستطيع أن أقول العودة الأسطوانات واحد. لكننا نريد أيضًا التحقق من بعض الشروط الأخرى. لذلك يمكنني
1:57:24قل L إذا ، والآن أريد إجراء مقارنة أخرى. لذا سأقول غير ذلك إذا كان العدد اثنين أكبر من أو يساوي الرقم واحد. وعدد اثنين أكبر من أو يساوي عدد ثلاثة. لذلك أنا أفعل
1:57:39بشكل أساسي ما فعلته هنا ، باستثناء العدد الثاني. لذا مرة أخرى ، أقارن بين هذه مختلفة
1:57:44أعداد. وسينتهي الأمر بأن تكون هذه القيمة صحيحة أو خاطئة ، اعتمادًا على نتيجة المقارنة. إذن ، هنا ، مرة أخرى ، يمكننا فقط إرجاع العدد اثنين ، لأنه إذا كان كل هذا صحيحًا ،
1:57:57هذا يعني أننا سننتهي من إعادة العدد اثنين. ثم أخيرًا ، يمكننا أن نقول غير ذلك.
1:58:03لذا إذا لم يكن العدد واحد هو الأكبر وكان العدد اثنان ليس الأكبر ، فيمكننا فعل ذلك كثيرًا افترض أن العدد ثلاثة هو الأكبر. إذن لدينا الآن الدالة. لذلك في الأسفل هنا ، أنا في الواقع
1:58:17سأستدعي هذه الوظيفة. لذلك سأقول فقط ، في الواقع ، سأطبع ملف
1:58:21نتيجة. إذن سأقول max num ، وسنمرر مثل ثلاثة ، أربعة ، خمسة. لذلك نحن في الأساس استدعاء تلك الوظيفة الجديدة التي أنشأناها للتو. وسأقوم بتشغيل هذا البرنامج.
1:58:35يمكنكم أن تروا هنا في المخرجات ، نطبعها خمسة ، لأن ذلك كان الأكبر. إذا كنت سأغير هذا الوسط إلى الأكبر ، لذلك قمنا بعمل الوسط 140 ، الآن سيكون قادرًا
1:58:45لتولي هذا الموقف. وأخيرًا ، يمكنني أن أجعل هذا مثل 300. وسيكون قادرًا على التعامل معه الذي - التي. لذا ، بغض النظر عن الرقم واحد العدد اثنان أو العدد ثلاثة الذي ينتهي به الأمر ليكون هو الأكبر ،
1:58:56يمكنه إخبارنا بدون مشكلة. لذا فإن هذه المقارنات هي حقًا ، حقًا ، حقًا طريقة شائعة للإدلاء ببيانات إذا. وفي كثير من الأحيان ، سترغب في المقارنة
1:59:08قيم مختلفة داخل بايثون. هنا ، نقارن الأعداد ، لكن يمكننا أيضًا قارن السلاسل. لذلك يمكنني بسهولة أن أجعل كلاهما ، كما تعلم ، يمكنني أن أجعل هذا مثل
1:59:19الكلب ، ويمكنني أن أصنع هذا الكلب. ويمكنني أن أقول عامل مختلف. لذلك أستطيع أن أقول مثل علامة المساواة المزدوجة هذه تعني المساواة. لذلك يمكنني أن أقول بشكل أساسي مثل ، إذا كانت هذه السلسلة
1:59:30تساوي هذه السلسلة ، لذا يمكنك بشكل أساسي مقارنة جميع أنواع البيانات المختلفة ،
1:59:35أعرف ، يمكنني مقارنة الأرقام ، السلاسل ، يمكنك أيضًا مقارنة السبائك. لذا مرة أخرى ، هذه هي عوامل المقارنة. وهذا أكبر من أو يساوي ، لكن هناك
1:59:46مجموعة من عوامل المقارنة الأخرى التي يمكننا استخدامها. لذا فإن أبسط شيء سيكون
1:59:51علامة تساوي مزدوجة. وهذا يتحقق بشكل أساسي لمعرفة ما إذا كانت القيمتان متساويتان. لذلك سوف على سبيل المثال ، إذا كان الرقم واحد يساوي رقم اثنين ، فيمكننا أيضًا أن نقول لا يساوي. وهذا
2:00:03وستعني علامة التعجب بشكل أساسي عدم المساواة. إذن ، إذا كان العدد واحد غير متساوٍ للعدد اثنين ، لدينا أيضًا أكبر من أصغر من أو يساوي أصغر من أو يساوي
2:00:18ل. وهؤلاء نوع من جميع العوامل هي ، كما تعلمون ، المقارنة الأساسية العوامل التي ستستخدمها في Python. لذا فإن استخدام المقارنات أمر رائع حقًا.
2:00:28وستكون هناك أطنان وأطنان من المواقف داخل بايثون حيث أنت ذاهب تريد مقارنة القيم المختلفة. لذلك يمكن أن تكون هذه مفيدة للغاية. في هذا البرنامج التعليمي ،
Building a better Calculator
2:00:40سأتحدث إليكم يا رفاق حول بناء آلة حاسبة في بايثون. الآن ، إذا كنت قد فعلت ذلك بعد هذه الدورة التدريبية ، ستعرف أننا في بداية الدورة التدريبية
2:00:49إنشاء آلة حاسبة أساسية للغاية. في الأساس ، يمكن للمستخدم إدخال رقمين و ستجمع الآلة الحاسبة الأرقام معًا وتبصق الإجابة. في هذا البرنامج التعليمي ،
2:01:00أريد أن أوضح لكم يا رفاق كيفية بناء آلة حاسبة أكثر تقدمًا. إذن هذه الآلة الحاسبة
2:01:05ستكون قادرًا على إجراء جميع العمليات الحسابية الأساسية. لذلك يمكننا الجمع والطرح
2:01:10اضرب واقسم. وسنسمح بالفعل للمستخدم بتحديد أي واحد منهم اريد ان افعل. لذلك سيدخل المستخدم رقمًا ، وسيدخل في أي عامل يريده ليستخدم. إذن زائد ناقص قسمة ، اضرب. وبعد ذلك سيدخلون الرقم الثاني و
2:01:26سنجري العملية لهم. لذلك يمكن أن يكون هذا رائعًا. وسوف تظهر كيف يمكننا استخدام عبارات if في مثل تطبيق عملي. اذا هيا بنا نبدأ.
2:01:36أول شيء نريد القيام به هو الحصول على مدخلات من المستخدم. لذلك سأقوم بإنشاء ثلاثة
2:01:41المتغيرات ، واحد للرقم الأول ، وواحد للرقم الثاني ، والآخر للمشغل. وسنخزن بشكل أساسي القيم التي يدخلها المستخدم في تلك المتغيرات. لذا فإن الأول
2:01:51واحد سيكون فقط الرقم واحد. وسأساوي هذا بالمدخل. ونحن ذاهبون إلى إعطاء هذا موجه. لذا سأقول أدخل الرقم الأول. وهذا هو الشيء في الواقع مهما كان ما يدخله المستخدم ، سنريد تحويله إلى رقم. بشكل عام في
2:02:10Python ، عندما نحصل على مدخلات من المستخدم ، بغض النظر عن ما أدخله ، يتم تحويلها فقط
2:02:15في سلسلة. لكننا لا نريد سلسلة ، لأنه يتعين علينا إضافة أو طرح أو ضرب هذه الأرقام معًا. لذلك كلما أدخلوا الرقم ، أريد فقط تحويله على الفور إلى نوع بيانات مثل رقم فعلي بدلاً من ملف
2:02:30خيط. لذا ما يمكنني فعله هو أنني أستطيع أن أقول في الواقع تعويم ، ويمكنني أن أحيط بهذا كله
2:02:36علامة الإدخال مع الأقواس. والآن ما سيفعله هذا هو أنه سيحدث على الفور تحويل كل ما يدخله المستخدم إلى عدد عشري. الآن هذا سيعني أنهم ذاهبون
2:02:48لإدخال رقم ، وإلا فسنحصل على خطأ. لكن بالنسبة للجزء الأكبر ، يجب أن يحدث هذا
2:02:52العمل من أجلنا. لذلك أنا في الواقع سأقوم بنسخ هذا الرجل. وسنمضي قدمًا ونلصق هنا. وسنلصقه مرة أخرى. لذلك نحن في الأساس نحاول فقط الحصول على ثلاثة
2:03:03أجزاء من المدخلات من المستخدم. الشيء الثاني الذي نريد الحصول عليه هو عامل التشغيل. لذلك أنا
2:03:08سأقول فقط المرجع للعميل. وسأتخلص بالفعل من هذا الطفو ، لأننا تريد أن تبقي هذا كسلسلة. وسأقول فقط أدخل عامل التشغيل. لذلك سيكون هذا
2:03:21مثل زائد ناقص الضرب ، أيا كان. ثم في النهاية هنا ، نحصل على العدد اثنين. ومرة أخرى ، نريد تحويل هذا إلى عدد عشري. لذا سأقول أدخل الرقم الثاني. إذن ما نفعله الآن هو أننا نحصل على الرقم الأول ، ونحصل على
2:03:37عامل التشغيل ونحصل على الرقم الثاني من المستخدم. إذن ما علينا فعله الآن هو نحن بحاجة لمعرفة ما بداخل هذا المرجع. بعبارة أخرى ، نحن بحاجة إلى معرفة
2:03:49ما المشغل الذي كان المستخدم يحاول القيام به. فهل يحاولون القيام بالإضافة أم أنهم يحاولون ذلك
2:03:54لإجراء عملية الطرح كما نريد معرفة ذلك. لذا يمكننا استخدام عبارة if بالترتيب لمعرفة ذلك. لذلك سوف آتي إلى هنا وسأقوم في الأساس بالإنشاء
2:04:05بيان إذا. لذلك سأقول إذا ، ونريد التحقق من حالة. لذلك أنا في الأساس
2:04:10سوف نتحقق لمعرفة ما إذا كان هذا العامل يساوي علامة الجمع. لذا يمكنني القول ما إذا كان op يساوي علامة زائد. والآن إذا كان عامل التشغيل يساوي علامة الجمع ، فسأطبعه فقط
2:04:25العدد واحد زائد العدد اثنان. لكن دعنا نقول أنه بدلاً من علامة الجمع أدخلوا شيئًا ما آخر. لذا يمكننا تحديد ما إذا كانت op تساوي ، والآن سنتحقق مما إذا كانت علامة ناقص.
2:04:37وهنا نطبع العدد واحد ناقص عدد اثنين. وفي الواقع نسيت وضع القولون هنا. لذلك يمكننا فقط القيام بذلك لكل شيء. يمكننا القول الآن إن L إذا كانت op تساوي القسمة
2:04:53وهنا نقسم العددين فقط حتى أتمكن من طباعة العدد واحد على العدد اثنين. وأخيرًا ، سنفعل الشيء نفسه في عملية الضرب. لذلك سأقول l إذا كان المرجع متساويًا
2:05:07إلى النجمة. وسنطبع عددًا واحدًا في عدد اثنين. حسنًا ، انتهى الأمر بشكل أساسي هنا لدينا كل حالة. لكني أريد أيضًا أن أضع بيانًا آخر. لذا
2:05:22في حالة دخول المستخدم في عملية ما ، فهذا لا يشبه أحد العمليات الأربعة التي قمنا بها
2:05:28المحدد هنا ، أريد فقط أن أخطئ. لذلك سأقول المرجع أو في الواقع نقول فقط غير ذلك. وهنا سنطبع مثل عامل غير صالح. حسنًا ، هذا
2:05:40إذا كان البيان يجب أن يعطينا كل ما نريد. في الأساس ، أنا فقط أتحقق لمعرفة ما إذا كان الأمر كذلك يساوي علامة زائد ، علامة ناقص ، علامة قسمة أو علامة ضرب. اعتمادا علي
2:05:51أي واحد يساوي ، سنفعل عملية مختلفة. لذلك دعونا نمضي قدما وندير هذا البرنامج ونرى كيف نفعل. سأقوم بتشغيل هذا البرنامج وهو يقول أدخل الرقم الأول.
2:06:01دعنا ندخل خمسة ، أدخل عامل التشغيل. فلماذا لا نضيف فقط وندخل ثانية رقم. لنفعل 23. الآن تطبع الإجابة 28. لذا تعمل الآلة الحاسبة بالفعل. لنجرب عامل تشغيل آخر فقط للتأكد. إذن سنعيد ستة ولماذا لا نضرب
2:06:22من خلال ، لا أعرف ، 5.23. إذن نبدأ الآن ونقوم بعملية الضرب ونبدو هكذا حصلنا على إجابتنا. لذا يبدو أن الآلة الحاسبة تعمل. وهكذا كان كل ما فعلناه هو
2:06:34حصلنا على المدخلات من المستخدم ثم استخدمنا عبارات if لمعرفة ما هي اردت فعل. لذلك يمكننا التحقق لمعرفة ما إذا كانوا يريدون إضافة. يمكننا التحقق لمعرفة ما إذا كانوا
2:06:45أراد الطرح أو القسمة أو الضرب. ويمكننا أيضًا التحقق لمعرفة ما إذا كانوا قد دخلوا
2:06:49في عامل غير صالح. فلماذا في الواقع لا نجرب ذلك أيضًا. لذا سأدخل في مثل خمسة والآن سندخل فقط مثل قوس الفتح والإغلاق وأربعة. لذا يمكنك ذلك
2:07:02نرى هنا أنه قادر على معرفة أن البرنامج ذكي بما يكفي لمعرفة أن هذا ليس ملف عامل صالح. لذلك يمكن أن تكون هذه العبارات قوية حقًا ويمكننا استخدامها
2:07:11مع الحصول على مدخلات المستخدم لإنشاء آلة حاسبة صغيرة. في هذا البرنامج التعليمي أريد أن أتحدث إليكم يا رفاق عن استخدام القواميس في بايثون. الآن القاموس خاص
Dictionaries
2:07:26هيكل في Python يسمح لنا بتخزين المعلومات فيما يسمى بالقيمة الأساسية أزواج. لذلك يمكنني بشكل أساسي إنشاء مجموعة من أزواج القيم الأساسية المختلفة هذه و
2:07:38ثم عندما أريد الوصول إلى جزء معين من المعلومات داخل القاموس يمكن فقط الرجوع إليها من خلال مفتاحها. لذا فإن قاموس الكلمات مناسب جدًا في الواقع
2:07:49هنا. إذا كنتم معتادون على القاموس العادي ، فأنتم تعلمون في القاموس العادي
2:07:53سيكون لديك كلمة ومن ثم سيكون لديك تعريف مرتبط بهذه الكلمة. لذلك في هذا الوضع الكلمة ستكون المفتاح. وبعبارة أخرى ، فإن الكلمة تشبه بشكل فريد يحددها داخل القاموس ومن ثم ستكون القيمة هي التعريف الفعلي.
2:08:10لذلك سيكون هذا أكثر منطقية بمجرد أن نبدأ العمل مع هذا ولكني أردت فقط لأعطيكم مقدمة سريعة يا رفاق. لذلك في هذا البرنامج التعليمي أريد إنشاء القليل
2:08:19البرنامج الذي سيسمح لنا بتحويل اسم الشهر المكون من ثلاثة أرقام إلى اسم الشهر بالكامل. لذا يمكنني التحويل على سبيل المثال مثل يناير إلى يناير أو يمكنني تحويل MAR إلى
2:08:36يمشي. مثلما أريد أن أكون قادرًا على امتلاك برنامج يمكنه فعل ذلك لنا وهذا في الواقع
2:08:41حالة استخدام جيدة للقاموس. لذلك سنقوم بالفعل بإنشاء ملف القاموس وسأريكم يا رفاق كيف يمكننا فعل ذلك. لذا فإن أول شيء نحن ما عليك القيام به في إنشاء قاموس هو مجرد تسمية له. لذلك أريد أن أعطي هذا
2:08:54اسم محدد. لذلك سأقوم فقط باستدعاء التحويلات هذا الشهر. والآن أنا فقط أريد ذلك ضع هذا مساويًا لقوس مجعد مفتوح ومغلق. لذلك كلما قمنا بإنشاء قاموس
2:09:06في Python ، سنرغب دائمًا في إنشائه داخل هذه الأقواس المتعرجة المفتوحة والمغلقة.
2:09:12لذا يمكننا الآن داخل القاموس أن نبدأ في تحديد ما يسمى بالقيمة الأساسية أزواج. لذا يمكنني تحديد مفتاح ومن ثم يمكنني إعطائه قيمة مقابلة. و ال
2:09:24الطريقة التي يمكننا بها القيام بذلك هي فقط عن طريق كتابة المفتاح ثم كتابة القيمة.
2:09:27لذلك في حالتنا ، نقوم بتحويل أسماء الأشهر المكونة من ثلاثة أرقام إلى شهر كامل الأسماء. لذلك أود أن أكتب على سبيل المثال JAN وبعد ذلك يمكنني كتابة نقطتين
2:09:38وأريد كتابة القيمة التي أرغب في ربطها بها حتى نتمكن من قول شهر كانون الثاني (يناير). يمكنني القيام بذلك بشكل أساسي لكل مجموعة. لذلك يمكنني القول مثل FEB وسيكون هذا
2:09:50شهر فبراير. وفي الواقع ، بعد كل واحدة من هذه ، سنحتاج إلى وضع فاصلة. لذلك يمكنني أن أفعل الشيء نفسه لشهر مارس ، على سبيل المثال ، MAR
2:10:01لذا فإن ما يمكنني فعله بشكل أساسي هو أنه يمكنني تحديد إدخال داخل هذا القاموس لكل منها واحدة من هذه. لذلك سيكون هذا هو المفتاح وهذا هنا سيكون
2:10:14قيمة. وهنا شيء واحد هو أن كل هذه المفاتيح يجب أن تكون فريدة من نوعها. لذلك إذا كنت سأفعل تعال هنا وقم بتغيير هذا إلى JAN ، فهذا في الواقع سيعطينا القليل
2:10:24تحذير. لذلك يمكنك أن ترى في الأسفل هنا تقول أن القاموس يحتوي على مفاتيح مكررة. هذا ليس لا عندما ننشئ قواميس. لذلك أنت دائما تريد التأكد أن المفاتيح فريدة من نوعها. حسنًا. لذلك سأقوم بإنشاء واحد من
2:10:37هذه لكل شهر ومن ثم سنعود وسنتحدث عنها. حسنًا. لذا فقد تقدمت وأنشأت إدخالًا لكل 12 شهرًا. و الآن لدينا مجموعة من المفاتيح الفريدة ويرتبط كل واحد من هذه المفاتيح بـ
2:10:52قيمة مختلفة. إذن هذه هي أساسيات إنشاء قاموس هو أن لدينا مجموعة من أزواج القيم الأساسية المختلفة هذه. والآن ما يمكننا فعله في الواقع هو أننا نستطيع
2:11:02الوصول إليها من داخل هذا القاموس. لذلك إذا أردت الوصول إلى ملف مفتاح معين أو قيمة محددة ، كل ما علي فعله هو المجيء إلى هنا وأنا في الواقع سنقوم بطباعته على الشاشة حتى نتمكن من رؤيته. كل ما أملك
2:11:16ما عليك القيام به هو الرجوع إلى القاموس بالاسم. لذلك يطلق عليه فقط تحويلات الشهر. وهناك بالفعل مجموعة من الطرق المختلفة التي يمكنني من خلالها الوصول إلى أسماء هذه الأشهر.
2:11:27لذا يمكنني الوصول إلى مداخل مختلفة داخل هذا القاموس. الطريقة الأولى عادلة من خلال عمل قوس مربع للفتح والإغلاق والداخل هنا ، يمكنني فقط الكتابة في واحد
2:11:39من المفاتيح. على سبيل المثال ، هنا في الداخل ، يمكنني كتابة NOV. وماذا ينبغي
2:11:44هل يجب أن تعيدنا الاسم الكامل لشهر نوفمبر. لذلك عندما أطبع هذا في الخارج ، سترى أننا نعود إلى هنا في نوفمبر. لذلك يمكنني أن أفعل نفس الشيء
2:11:55من أجل ، كما تعلمون ، أي من هؤلاء ، يمكننا أن نقول مثل MA R. والآن يجب أن نحصل عليه مسيرة العودة. لذلك أنا قادر على الإشارة إلى المفتاح. وستذهب إلى القاموس وسيعطيني القيمة المرتبطة بهذا المفتاح.
2:12:09هناك طريقة أخرى في الواقع يمكننا القيام بذلك أيضًا. لذلك يمكنني أن أقول تحويلات الشهر
2:12:14نقطة الحصول على الداخل من هنا. يمكنني أيضًا تمرير اسم مفتاح. حتى أتمكن من المرور في مثل DE C. والآن سنطبع ديسمبر. وما هو رائع في استخدامه وظيفة get هذه هي أنه يمكنني تحديد القيمة الافتراضية التي أريدها
2:12:33استخدم إذا لم يتم العثور على هذا المفتاح. لذلك ستكون هناك حالات معينة عندما نقوم بذلك
2:12:38التعامل مع القواميس حيث ستضع مفتاحًا قد لا يكون كذلك تعيين بالضرورة إلى قيمة داخل القاموس. لذلك قمت بوضع مفتاح غير صالح. لذلك دعونا نحاول القيام بذلك. لذلك سأضع مثل LU V. هذا ليس شهرًا
2:12:52اختصار. لذلك عندما أحاول تشغيل هذا ، سترى أننا لا نحصل على أي شيء هنا. وفي كثير من الحالات ، سترغب في إنشاء نوع من الإعداد الافتراضي
2:13:03قيمة. لذلك إذا كنت في هذا الموقف حيث لدي مفتاح لا يمكن تعيينه لأي شخص القيم الموجودة داخل هذا القاموس ، يمكنني بالفعل تمريرها كقيمة افتراضية. لذا
2:13:14داخل وظيفة الحصول على النقطة هذه ، يمكنني عمل فاصلة. والآن يمكنني المرور مثل أ القيمة الافتراضية ليتم طباعتها. لذلك أستطيع أن أقول أنه ليس مفتاحًا صالحًا. والآن عندما أكون
2:13:25أدخل المفتاح غير الصحيح ، بدلاً من قول لا شيء ، سيمضي قدمًا ويقول لا مفتاح صالح. لذلك سيعطينا هذا قيمة افتراضية يمكن أن نسقطها مرة أخرى. إذن هذه القواميس رائعة حقًا. والمفاتيح هنا لا تفعل ذلك
2:13:41يجب أن تكون سلسلة. لذلك يمكنك أيضًا استخدام الأرقام. على سبيل المثال ، يمكنني القول مثل صفر ، واحد ، 10 ، مثلما يمكنني وضع أي أرقام أريدها هنا كمفاتيح طويلة
2:13:52لأنها فريدة من نوعها. وبعد ذلك يمكنني الوصول إلى تلك المفاتيح ، تمامًا كما أفعل عادةً
2:13:56هنا مع وظيفة get هذه أو مع تلك الأقواس المربعة المفتوحة والمغلقة. هذا نوع من أساسيات استخدام القواميس. يمكن أن يكون مفيدًا حقًا تخزين أزواج القيمة الرئيسية. وبصراحة ، ستستخدمها كثيرًا في بايثون
2:14:10تخزين أنواع مختلفة من البيانات. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن بينما حلقات في بايثون. الآن حلقة while هي أساسًا بنية في Python ، والتي
While Loop
2:14:24يسمح لنا بالتكرار عبر كتلة من التعليمات البرمجية وتنفيذها عدة مرات. لذلك يمكنني تحديد بضعة أسطر مختلفة من التعليمات البرمجية ، وبعد ذلك يمكنني وضع هذا الرمز داخل ملف
2:14:36حائط اللوب. وسوف يتكرر بشكل أساسي خلال هذا الرمز ، ويتم تنفيذه بشكل متكرر حتى خطأ معين. لذلك يمكن أن تكون حلقات while رائعة. و هناك الكثير من المواقف في بايثون حيث سنرغب في إجراء حلقات محددة
2:14:50أسطر من التعليمات البرمجية. لذلك في هذا البرنامج التعليمي ، أريد فقط أن أريكم يا رفاق العارية أساسيات كيفية عمل حلقات while. ثم في البرامج التعليمية المستقبلية ، سنستخدم
2:14:58أثناء التكرار لإنشاء ألعاب صغيرة وأشياء من هذا القبيل. لذلك دعونا نتحدث عن أثناء الحلقات. عندما أقوم بإنشاء حلقة while الخاصة بي ، فإن أول شيء أريد فعله في الواقع هو
2:15:08إنشاء عدد صحيح. أنا في الأساس أقوم بإنشاء متغير يكون رقمًا وأنت لا تفعل ذلك يجب أن تفعل هذا لفترة من الوقت ، ولكن فقط من أجل عرضنا التوضيحي سأقوم بذلك. لذا
2:15:17سأسمي هذا أنا وسأجعله يساوي واحدًا. والآن ما أنا أريد أن أفعل هو أريد إنشاء حلقة while. لذلك سأقول فقط بينما. وهنا أريد تحديد شرط. وهذا ما يسمى
2:15:34حالة الحلقة أو يمكنك أيضًا الرجوع إليها كحارس حلقة. ونحن في الأساس كذلك
2:15:39سأستمر في التكرار عبر الكود الموجود داخل حلقة while طالما هذا الشرط صحيح. لذا مهما كان الشرط الذي أضعه هنا ، طالما أنه صحيح ، فنحن سنستمر في التكرار عبر الكود داخل حلقة while. لذلك سأقول فقط
2:15:53بينما أنا أقل من أو يساوي 10. والآن سأضع نقطتين وسأذهب لعمل سطر جديد. وأي شيء أقل من ذلك أثناء إعلان الحلقة و هذه المسافة البادئة مثل هذا سيتم اعتباره رمزًا موجودًا بالداخل
2:16:13حلقة. وبالتالي سيتم تنفيذ هذا الرمز بشكل متكرر أثناء هذا الشرط هنا في الأعلى صحيح. لذلك سأضع هنا سطرًا بسيطًا جدًا من التعليمات البرمجية. كان
2:16:23سأطبع فقط قيمة I. ثم سأقوم هنا في الأسفل بذلك زيادة سأضيف واحدًا إلى سأقول إنني يساوي أنا زائد واحد. لذلك أنا في الأساس آخذ هذا الذي أقدره وأضيف إليه واحدًا. هناك في الواقع ملف
2:16:39الاختزال الذي يمكننا استخدامه في Python للقيام بشيء مثل هذا على الرغم من أنني أستطيع أن أقول فقط
2:16:44أنا زائد يساوي واحدًا وهذا سيضيف تلقائيًا واحدًا إلى أنا اختصارًا صغيرًا وسترى الأشخاص في بايثون يستخدمون ذلك كثيرًا. حتى هنا لدينا أساسًا حلقة while. لذلك لدي مخطط تفصيلي لحلقة من الوقت. لذلك كانت
2:17:02تحديد هذا المتغير هنا وسنستمر في التكرار خلال الكود داخل حلقة while طالما أن هذا الشرط هنا صحيح. حتى إذا كان هذا الشرط خاطئ ، على سبيل المثال إذا كنت مساويًا لأحد عشر ، فلن نقوم بذلك
2:17:17حلقة من خلال هذا الرمز بعد الآن ونحن في طريقنا للمضي قدمًا. لذلك أنا هنا في الأسفل
2:17:21في الواقع سأطبع فقط. انتهى مع الحلقة. لذلك هذا سوف يوضح نوعًا ما هذا لنا. حسنًا ، فلنبدأ تشغيل هذا البرنامج. أنا فقط سأجري
2:17:32هو - هي. وسترى هنا أننا نحصل على بعض المخرجات. لذلك سنحصل بالفعل على أرقام مطبوعة واحدة على طول الطريق حتى عشرة ثم نطبعها فعلت مع الحلقة. إذن ما يحدث أساسًا هو أننا نطبع كل شيء
2:17:48الوقت الذي نمر فيه من خلال هذه الحلقة. لذلك في البداية أنا يساوي حقًا واحدًا. الشيء الأول التي ستفعلها Python عندما تصل إلى هذه الحلقة while loop ، فإنها ستقوم بالتحقق
2:17:56هذا الشرط. لذا قبل أن تفعل أي شيء آخر ، ستقوم بفحص هذا الشرط وسيقول حسنًا هو واحد أقل من أو يساوي عشرة وهذا حقيقي. طالما أن هذا الرجل صحيح ، فسوف نمر به ونمرره
2:18:10كل الكود بالداخل من هنا. لذلك سنقوم بطباعة i الذي يحتوي على
2:18:14قيمة واحد ثم نضيف واحدًا إلى i. حتى الآن سأذهب من واحد لاثنين. الآن ما سنفعله هو أننا سنذهب إلى الخلف من هنا إلى هذا أثناء إعلان الحلقة وسنتحقق من الحالة مرة أخرى.
2:18:29لذا تذكر أني تحققت من الحالة في المرة الأولى ثم أقوم بتكرار كل شيء
2:18:33الرمز ثم أعود إلى الأعلى وأتحقق منه مرة أخرى. لذلك سأقول حسنًا ، هل أنا أقل من أو يساوي عشرة. عند هذه النقطة أنا يساوي اثنين. لذلك أنا أقل من أو يساوي عشرة. إذن الآن سنستمر وننفذ
2:18:48كل هذا الرمز مرة أخرى. لذا سأطبع أنا لذا سأكون اثنين وأنا سنضيف واحدًا إلى أنا لذا لدينا الآن ثلاثة. ثم بايثون ستعمل على طول الطريق
2:18:57احتياطيًا إلى الأعلى وسوف يتحقق من الحالة مرة أخرى. هكذا في كل التكرار خلال الحلقة قبل أن تفعل بايثون ما بداخل هذه الحلقة ذاهب للتحقق من هذا الشرط. وطالما بقيت الحالة صحيحة نحن
2:19:11سنستمر في تنفيذ الكود داخل الحلقة. في النهاية على الرغم من ذلك البرنامج سوف ينتهي بي الأمر أن أصبح أحد عشر. لذلك في التكرار الأخير سوف في نهاية المطاف أن يكون أحد عشر. سوف نعود إلى هنا ونقول هممم
2:19:24هل أحد عشر أقل من أو يساوي عشرة؟ لا. ولذا بما أنه كلا ، فإننا ذاهبون للنزول إلى هنا وسنطبع هذا باستخدام سطر الحلقة. إذن هذا هو أساسيات كيفية عمل حلقات while. نحن نحدد شرط حلقة طالما
2:19:38نظرًا لأن هذا الشرط صحيح ، فسوف نستمر في تنفيذ الكود داخل الحلقة.
2:19:42وبعد كل تنفيذ للحلقة ، سنعود ونفحص الحالة مرة أخرى. هذه هي الطريقة التي ننتهي بها بهذه الطباعة هنا. لذا هذه هي أساسيات حلقة while loop. ويمكننا استخدام حلقات while لفعل كل شيء
2:19:57أنواع الأشياء. مثل while loops قوية جدًا. في هذا البرنامج التعليمي أنا سأريكم يا رفاق كيفية بناء لعبة تخمين أساسية في بايثون. وفي هذا لعبة التخمين سنستخدم في الواقع جميع أنواع البرمجة الرائعة
2:20:14الهياكل التي تعلمناها حتى هذه المرحلة في الدورة. لذلك نحن ذاهبون إلى
2:20:17استخدام أشياء مثل عبارات if و while loops والمتغيرات وكل هذه أشياء رائعة لبناء هذه اللعبة. لذا فإن الفكرة الأساسية هي أننا سنحدد مثل كلمة سرية. لذلك سيكون لدينا كلمة سرية نقوم بتخزينها داخل برنامجنا.
Building a Guessing Game
2:20:31وبعد ذلك يمكن للمستخدم التفاعل مع البرنامج ومحاولة تخمين الكلمة السرية. ولذا فإن ما نريد أن نكون قادرين على حدوثه هو أننا نريد أن يكون المستخدم قادرًا على الاحتفاظ به
2:20:40تخمين ما هي الكلمة السرية واستمر في كتابة ردود مختلفة حتى يتم ذلك احصل على الكلمة السرية بشكل صحيح. إذن هذه هي أساسيات ما ستكون عليه هذه اللعبة.
2:20:50والآن دعنا نمضي قدمًا وننشئه. لذا فإن أول شيء نريد القيام به هو إنشاء ملف متغير لتخزين كلمتنا السرية. حتى أستطيع أن أقول كلمة سرية ونحن فقط سأجعل هذا يساوي كلمة سرية. فلماذا لا نجعلها مسودة. هذا
2:21:04كلمة سرية جيدة. والآن ما نريد القيام به هو أننا نريد إنشاء ملف المتغير الذي سيخزن استجابة المستخدم. لذلك أريد متغيرًا
2:21:13تخزين مثل كل التخمينات التي يقوم بها المستخدم. لذلك أنا فقط سأسمي هذا يخمن. وسأجعلها مساوية لسلسلة فارغة الآن. حتى الآن نحن لدينا كلمة سرية ولدينا متغير لتخزين تخمين المستخدم. و
2:21:28ما نحتاج إلى فعله هو أن نكون قادرين على مطالبة المستخدم بإدخال السر كلمة. ولكن هنا تكمن المشكلة. ما نريد أن يحدث هو أننا نريدهم أن يدخلوا
2:21:38كلمة سرية. وإذا لم يخمنوا الأمر بشكل صحيح ، فنحن نريد حثهم على ذلك
2:21:42أدخله مرة أخرى. لذلك لا يمكننا استخدام عبارة إدخال واحدة فقط. لدينا بالفعل لاستخدام شيء يسمى حلقة while. ويمكننا استخدام حلقة while من أجل اطلب من الشخص باستمرار تخمين الكلمة حتى يخمنها بشكل صحيح. لذا
2:21:59دعنا نمضي قدمًا وننشئ حلقة while. لذلك سأقول حين. وبعد أنا قل بينما أحتاج إلى تحديد شرط التكرار أو حارس التكرار. أساسًا، هذا شيء طالما أنه صحيح ، سنستمر في التكرار من خلاله
2:22:13هذه الحلقة. في الأساس ، أريد أن أقول إنني أريد الاستمرار في التكرار طالما أن ملف
2:22:18لا يساوي تخمين المستخدم الكلمة السرية. طالما أنهم لم يخمنوا الكلمة السرية ، سأستمر في المرور بهذه الحلقة. وداخل هذا loop ، ما سنفعله هو أننا سنطلب منهم إدخال الكلمة السرية. لذا
2:22:35يمكنني أخذ متغير التخمين هذا ويمكنني تعيينه مساويًا للإدخال. وأنا فقط ذاهب
2:22:42ليقول أدخل التخمين. وهكذا هنا ، فإننا نخبر المستخدم بشكل أساسي بالدخول تخمينهم. أقوم بتخزين كل ما يدخلونه داخل متغير التخمين هذا. و ثم ما سيحدث هو أننا سنعود إلى هنا. سوف نتحقق
2:22:59لمعرفة ما إذا كان التخمين يساوي الكلمة السرية. إذا كان التخمين لا يساوي كلمة سرية ، ثم سنفعلها مرة أخرى. ولكن إذا كان التخمين يساوي
2:23:08كلمة سرية ، ثم سنخرج من هذه الحلقة. وهكذا يمكننا النزول هنا. ويمكننا فقط طباعة رسالة نجاح. لذلك يمكنني القول أنك فزت بسبب لقد حصلوا على الكلمة السرية. لذلك هذا برنامج بسيط للغاية. ولكن هذا هو
2:23:25بشكل أساسي كل الكود الذي نحتاجه لنكون قادرين على بناء لعبة مثل هذه. لذا دعنا نمضي قدمًا ونلعب لعبتنا. يمكننا تشغيله ونرى كيف فعلنا. لذلك أنا ذاهب إلى
2:23:35انقر فوق تشغيل. وهنا ، يمكنك أن ترى أنه يدفعنا إلى إدخال تخمين. لذلك أنا سنقوم فقط بكتابة بعض ، كما تعلمون ، نصًا عشوائيًا ، يمكننا كتابة ما نكتبه
2:23:44يريد. وطالما أننا لم ندخل تلك الكلمة السرية ، فسوف تظل كذلك
2:23:48مطالبتنا بإدخال معلومات مختلفة. ولكن إذا أدخلت في كلمة السر ، إذا أدخلت في المسودة ، والآن فجأة سينتهي البرنامج وهو سأقول ، مرحبًا ، لقد فزت ، لأننا تمكنا من تخمين الكلمة السرية. اذن هذا
2:24:04كطريقة رائعة حقًا لنا حتى نتمكن من القيام بذلك. ولدينا بالفعل قيمة
2:24:08لعبة التخمين الوظيفية. لكني أعتقد أن لعبة التخمين هذه يمكن أن تكون في الواقع تحسن قليلا. في كثير من الأحيان عندما نجري لعبة تخمين ، نريد ذلك عين حد. بعبارة أخرى ، أريد وضع حد لعدد مرات ذلك
2:24:24يمكن للمستخدم محاولة تخمين الكلمة. لنفترض أن المستخدم أجرى ثلاث محاولات ،
2:24:28صحيح ، لديهم ثلاثة تخمينات من أجل تخمين الكلمة. وإذا كانوا لا يستطيعون التخمين بعد ثلاث محاولات ، سيخسرون المباراة. لكن إذا استطاعوا احزر الكلمة من ثلاث محاولات ، ثم سيفوزون باللعبة ، أليس كذلك؟ أظن
2:24:40سيكون هذا أكثر من مجرد لعبة ممتعة. فلماذا لا نحاول البرمجة تلك اللعبة؟ بشكل أساسي ، سنضع حدًا لعدد التخمينات التي يقوم بها
2:24:49يمكن للمستخدم الحصول عليها. من أجل القيام بذلك ، سيتعين علينا إنشاء زوجين آخرين
2:24:54المتغيرات بالأسفل هنا. بعبارة أخرى ، سيتعين علينا تخزين المزيد جزء من المعلومات. أول معلومة أريد أن أتبعها هي كم مرة خمن المستخدم ، أليس كذلك؟ لذا يمكننا فقط عمل متغير يسمى
2:25:08عد التخمين. وسنقوم فقط بتعيين هذا على مساوٍ للصفر لأنه في البداية ، لن يقوم المستخدم بذلك
2:25:13لقد خمنت في هذه الحلقة أثناء التكرار. في كل مرة نمر فيها بالحلقة ، أريد ذلك زيادة هذا التخمين ، أليس كذلك؟ لذلك في كل مرة مررنا بهذه الحلقة أثناء التكرار ،
2:25:24أريد زيادة هذا العدد لأن هذا يعني أن المستخدم قد خمّن. لذلك في الأسفل هنا ، سأقول التخمين العد زائد يساوي واحدًا. وهذا مجرد الذهاب لإضافة واحد إلى التخمين ، يصيح فعلاً. حسنًا ، بعد كل
2:25:42تكرار هذه الحلقة ، سنمضي قدمًا ونضيف واحدًا إلى عدد التخمين. حسنًا ، هذا هو المتغير الأول الذي سنحتاجه. نحن أيضا ذاهبون إلى
2:25:49تريد تخزين متغير آخر. وهذا سوف يسمى حد التخمين. و في الأساس ، سيخبرنا هذا بعدد المرات التي يمكن للمستخدم تخمين الكلمة. لذلك أنا ذاهب إلى أن يكون حد التخمين. وسنقول ثلاثة فقط.
2:26:04لنفترض أن المستخدم لديه ثلاث محاولات لتخمين كلمة ثلاث ضربات و انت خارجا. لذا ، إذا لم يتمكن المستخدم من الحصول عليها في ثلاث محاولات ، فسنقوم بذلك
2:26:13في الأساس يقولون إنهم خسروا اللعبة. وسأحتاج أيضًا إلى واحدة أخرى متغير هنا ، وهو ما سنستدعيه من التخمينات. وسأقوم فقط بالاستعداد هذا يساوي خطأ في البداية. لذا فإن هذا المتغير من التخمينات سيكون a
2:26:30قيمة منطقية. وسيخبرنا ما إذا كان المستخدم خارج التخمينات أم لا. حتى إذا من التخمينات صحيحة ، هذا يعني أنه ليس لديهم المزيد من التخمينات ، أليس كذلك؟ هم في الأساس
2:26:39خسر اللعبة. وإذا كان من باب التخمينات خاطئًا ، فهذا يعني أنه لا يزال لديهم
2:26:44تركت بعض التخمينات حتى يتمكنوا من مواصلة اللعب. حسنًا ، لنستخدمها متغيرات مختلفة من أجل جعل برنامجنا أكثر فاعلية. لذا فإن الأول الشيء الذي أريد القيام به هو عندما أعبر هذه الحلقة ، أريد التحقق للتأكد
2:26:58أن المستخدم لديه تخمينات أكثر ، أليس كذلك؟ بمعنى آخر ، قبل أن أسمح للمستخدم أدخل تخمينًا ، أريد أن أتحقق من أنهم لم يستنفدوا كل شيء بالفعل
2:27:08تخميناتهم. لذا هنا في الأسفل ، يمكنني الإدلاء ببيان إذا. أستطيع أن أقول إذا كان من الداخل
2:27:13للحالة ، أريد التحقق من أن عدد التخمين أقل من حد التخمين. إذا كان عدد التخمين أقل من حد التخمين ، فهذا يعني أنهم لم يخمنوا
2:27:27العدد الإجمالي للتخمينات التي لديهم. لذلك تبقى لديهم بعض التخمينات. وإذا كان هذا
2:27:32الحالة وإذا كان هذا صحيحًا ، فسأقدم لهم تخمينًا و ثم نزيد عدد التخمين. بعبارة أخرى ، إذا لم يكن هذا صحيحًا قد وصلوا إلى حد التخمين الخاص بهم ، ثم سأرغب في وضع التخمينات
2:27:50يساوي صواب ، لأنها خارج التخمينات ، أليس كذلك؟ ليس لديهم المزيد من التخمينات لأن عدد التخمين لم يكن أقل من حد التخمين. وهذا يعني ذلك
2:27:58هم خارج التخمينات. لذلك ليس لديهم المزيد من التخمينات. لذلك هناك بالفعل واحد آخر الشيء الذي يتعين علينا القيام به داخل حلقة while هذه ، نحتاج إلى إضافة شرط آخر
2:28:07على هذا حارس الحلقة. الآن ، سنستمر في التكرار طالما أن ملف تخمين لا يساوي كلمة السر. لكن تذكر ، إذا نفد المستخدم التخمينات ، بمعنى آخر ، إذا وصلوا إلى حد التخمين ، فلا نريدهم أن يخمنوا
2:28:21بعد الآن ، أليس كذلك؟ لذلك إذا نفدوا التخمينات ، فنحن نريد الخروج منها بشكل أساسي هذه الحلقة وعدم إعطائهم المزيد من التخمينات. لذلك سأستمر وأضيف
2:28:29حالة أخرى هنا. وسأقول ، بينما لم يخمنوا كلمة سرية ، وهي ليست من التخمينات. لذلك لن يكون خارج التخمينات. ثم سنستمر في التكرار. طالما أنهم لم يخمنوا الكلمة ،
2:28:47وطالما بقي لديهم بعض التخمينات ، سنستمر في التكرار. لكن
2:28:51وإلا فإننا سنخرج من الحلقة. وهكذا هنا بالأسفل ، نحن نطبع فزت. لكن في الواقع ، عندما نخرج من هذه الحلقة ، سيكون هناك اثنان السيناريوهات الممكنة. مرة أخرى ، هناك طريقتان ممكنتان لإنهاء هذه الحلقة ،
2:29:07يمين؟ إما التخمينات تساوي الكلمة السرية. لذلك إما خمن المستخدم الكلمة بشكل صحيح ، أو نفد المستخدم من التخمينات. وهناك حالتان هنا في الأسفل نحتاج إلى حسابه. ولذا سأستخدم عبارة if لـ
2:29:21معرفة أيهما. لذلك سأقول إذا ، وسنقوم بالكتابة فقط التخمينات. وإذا نفد المستخدم التخمينات ، فأنا أرغب في الطباعة من تخسر. لذلك سنكون في الأساس مثل ، لقد خسرت اللعبة. وإلا ،
2:29:41إذا لم ينفدوا من التخمينات ، فهذا يعني أنهم يخمنون الكلمة بشكل صحيح. لذا سنقوم فقط بطباعة فوزك. حسنًا ، لدينا الآن كل منطق
2:29:50هذا الإعداد لعبة التخمين قليلا. ودعونا نرى ما إذا كان بإمكاننا تشغيلها واللعب من خلالها
2:29:54هو - هي. لذا سأقوم بتشغيل هذا البرنامج. والآن ستخبرنا بذلك أدخل التخمين. فلماذا لا ندخل التخمينات أكثر مما لدينا؟ لذلك نحن ذاهبون إلى
2:30:03حاول أن تخسر اللعبة. لذلك سأقوم بإدخال تخمين واحد ، تخمينين. والآن أنا
2:30:07على تخميني الأخير. لذا إذا لم أحصل عليها هنا ، يجب أن نخسر المباراة. و يمكنك أن ترى أنه يقول من باب التخمينات ، تخسر. لذلك لم نتمكن من تخمين ذلك في
2:30:17عدد المحاولات التي أجريناها. لنقم بتشغيل البرنامج مرة أخرى ، وسنحاول الفوز ببرنامج
2:30:22لعبة. لذلك سوف نخطئ في بعض الأمور. لنفترض أننا في آخر تخمين لدينا. وأنا مثل ، حسنًا ، يمكنني فعل هذا. لذا أكتب الكلمة وبام ، فزنا باللعبة. هكذا نحن
2:30:34يمكن بشكل أساسي إنشاء لعبة يكون لدينا فيها حد للتخمين. لذلك هذا كثير من التعليمات البرمجية. اسمحوا لي أن أطلعكم على هذا مرة أخرى حتى تتمكنوا من الشعور بالشبع
2:30:42فهم ما نقوم به. هنا ، قمت بإنشاء بعض المتغيرات المختلفة. نحن أنشأنا متغير الكلمة السرية هذا ، وأنشأنا متغير التخمين هذا. وبعده نحن كما خلقت بعض المتغيرات أكثر. لذلك أنشأنا متغير عدد التخمين هذا. وهذا
2:30:57فقط يتتبع عدد المرات التي خمن فيها المستخدم الكلمة. ويمكنك أن ترى هنا في الأسفل ، في كل مرة نعطيهم تخمينًا ، نزيد من عدد التخمين. نحن أيضا
2:31:10لديك حد تخمين. ويخبر حد التخمين البرنامج بعدد المرات التي يستطيع المستخدم القيام بها يخمن. لذا قبل أن أخوض في حلقة الوقت هذه ، فإن أول شيء أفعله هو أنا
2:31:20التحقق لمعرفة أن عدد التخمين أقل من حد التخمين. بعبارة أخرى، هل ما زال لديهم بعض التخمينات؟ إذا فعلوا ذلك ، فسنحصل على المدخلات من المستخدم. خلافًا لذلك ، لدينا هذا المتغير الآخر هنا في الأعلى
2:31:36التخمينات. وسيخبرنا من خلال التخمينات ما إذا كان لديهم بعض التخمينات أم لا غادر. لذا إذا كان هذا يساوي خطأ ، فهذا يعني أن لديهم بعض التخمينات. إذا كان كذلك
2:31:45يساوي صحيحًا ، ومع ذلك ، فهذا يعني أنه لا مزيد من النرد ، ولا مزيد من التخمينات ، فقد تم إجراؤها. لذا خسروا اللعبة. كان آخر شيء يتعين علينا القيام به هو تحديد عنصر إضافي
2:31:54الحالة هنا. لذلك سنستمر في التكرار خلال الكود الموجود داخل هذا loop ، طالما أن الشروط هنا صحيحة. طالما أنهم لم يفعلوا ذلك خمنت الكلمة ، وطالما أنها لم تنفد من التخمينات ، فسوف نحتفظ بها
2:32:13من خلال حلقات. ولذلك عندما يخرج المستخدم في النهاية من هذه الحلقة ، ستكون هناك حالتان محتملتان. الوضع الأول هو أنهم ركضوا من التخمينات. ولذا نريد التحقق لمعرفة ما إذا كان هذا هو الوضع. أريد أن
2:32:26تحقق لمعرفة ما إذا كانت التخمينات قد نفذت. إذا كانوا كذلك ، فسنطبع خسارة رسالة. إذا لم يكونوا كذلك ، فلا بد أنهم قد خمنوا الأمر بشكل صحيح. لذلك فازوا. و حينئذ
2:32:34هذه هي الطريقة التي يمكننا بها استخدام حلقات while وعبارات if وكذلك المتغيرات في مع بعضها البعض لبناء لعبة تخمين رائعة جدًا.
For Loops
2:32:47في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق حول استخدام حلقات for في بايثون. الآن
2:32:52حلقة for هي نوع خاص من الحلقات في بايثون ، مما يسمح لنا بالتكرار مجموعات مختلفة من العناصر. لذلك في كثير من الأحيان سنستخدم الحلقات for في Python إلى
2:33:03مثل التكرار خلال المصفوفات المختلفة ، أو يمكننا التكرار مثل الأحرف الموجودة في الداخل
2:33:08من سلسلة ، أو يمكننا فقط أن نمرر عبر سلسلة من الأرقام. لذلك من أجل الحلقات توفر غرضًا محددًا للغاية. وأسهل طريقة لف رأسك نوعًا ما حول سبب فائدة حلقات for هو فقط بالنسبة لي لأريكم يا رفاق مجموعة من
2:33:21أمثلة مختلفة. لذلك هذا بالضبط ما سأفعله. سوف ننظر في لماذا الحلقات رائعة. هنا في الأسفل هنا في ملفي النصي وملف بايثون الخاص بي ، أنا سأكتب بضع حلقات for مختلفة. لذا فإن الطريقة التي ننشئ بها ملف
2:33:34حلقة for هي فقط بالقول لـ. والآن ما أريد القيام به هو تحديد متغير. وهذا المتغير سيمثل بشكل أساسي قيمة مختلفة في كل مرة تذهب من خلال هذه الحلقة. وسترى يا رفاق كيف يعمل ذلك في ثانية. لكن
2:33:53فقط اعلم أن هذا المتغير سيتم استخدامه في كل تكرار لـ for
2:33:58حلقة. وفي كل مرة سيكون لها على الأرجح قيمة مختلفة. لذلك في حالتنا ، أنا فقط سأسمي هذه الرسالة. وسأقول حرفًا في. والآن ما أريد فعله هو تحديد مجموعة أريد تكرارها.
2:34:15مثال على ذلك قد يكون مثل سلسلة. لذا يمكنني وضع خيط هنا.
2:34:19يمكنني فقط وضع مشروع أكاديمية مثل. والآن يمكنني فقط وضع نقطتين. و حينئذ ما سيقوله هذا في الأساس هو أنه سيقول لكل حرف بداخله من مشروع أكاديمية ، أريد أن أفعل شيئًا. وهكذا في الأسفل هنا داخل حلقة for هذه
2:34:35ومرة أخرى ، نحتاج إلى عمل مسافة بادئة لهذا. يمكننا وضع ما نريد فعله بكل حرف. لذا اسمحوا لي فقط أن أريكم يا رفاق مثل ما سيفعله هذا بشكل أساسي. حتى أتمكن من الطباعة
2:34:44إخراج حرف حتى أتمكن من طباعة متغير الحرف هذا. وهو في الواقع ذاهب إلى اطبع حرفًا مختلفًا داخل سلسلة مسودة الأكاديمية هذه في كل منها تكرار واحد لهذه الحلقة. لذا سأقوم بتشغيل هذا البرنامج. وهنا بالأسفل
2:35:01داخل وحدة التحكم الخاصة بي ، ستلاحظ أنني أقوم بطباعة مسودة الأكاديمية بشكل أساسي. لذا في التكرار الأول للحلقة ، قمت بطباعة الحرف الأول في المسودة
2:35:11الأكاديمية ، التي كانت G. في التكرار الثاني للحلقة ، طبعت أنا قال ، ثالثًا كان R ، والرابع كان A. لذا فأنا في الأساس أقوم بالتكرار خلال الكل الرسائل داخل مشروع الأكاديمية. لذلك أقول لكل حرف في المسودة
2:35:28الأكاديمية ، أريد طباعة تلك الرسالة. وهذا يشبه إلى حد ما كيف أربعة يمكن استخدام الحلقات. يمكننا تحديد متغير. وسيتغير هذا المتغير في كل منهما
2:35:39تكرار الحلقة ، أليس كذلك؟ إذن في التكرار الأول للحلقة ، هذه الرسالة
2:35:43متغير يمثل الحرف G. في التكرار الثاني للحلقة ، الحرف متغير مخزّن في القيمة I ، إلخ. حق. لذلك مررنا بهذه السلسلة بأكملها ، وتمكنا من طباعة كل حرف. لذلك بالإضافة إلى استخدام هذا مع
2:35:57سلاسل ، يمكننا أيضًا استخدام هذا مع مجموعات أخرى ، على سبيل المثال ، مثل مجموعة مصفوفة. لذا إذا أنشأت مصفوفة هنا ، دعنا نسميها أصدقاء فقط ، سأقوم بذلك
2:36:06اجعل هذا يساوي مجموعة من القيم المختلفة. حتى نتمكن من وضع مثل قائمة لدينا
2:36:10الأصدقاء هنا ، يمكننا أن نقول مثل Jim و Karen و Kevin ، بدلاً من قول رسالة لماذا لا نسمي هذا الصديق؟ ويمكنني أن أقول لصديق في الأصدقاء. و الأن سنطبع الصديق. لذا هنا ، أقول لكل صديق في الداخل
2:36:31مجموعة الأصدقاء هذه ، أريد طباعة الصديق. إذن الآن سنكون قادرين بالفعل لطباعة كل عنصر داخل تلك المجموعة. لذلك في الأسفل هنا ، سترون أننا نطبع جيم ، ثم في التكرار الثاني ، نطبع كارين ،
2:36:44وفي الثالث ، نقوم بطباعة Kevin. لذلك أنا قادر على إجراء حلقة عبر كل القيم داخل المصفوفة. وكما تعلمون يا رفاق ، يمكنك تسمية هذا
2:36:53متغير ، ما تريد. حتى أتمكن من تسمية ، يمكنني إعطاء هذا مثل أي عشوائي اسم. وإذا كنت أرغب في الوصول إليه ، فلا بد لي من الوصول إليه باستخدام نفس الاسم.
2:37:03حتى نتمكن من المرور عبر شيء مثل مصفوفة ، يمكننا أيضًا أن نمرر من خلاله
2:37:07سلسلة من الأرقام. لذا يمكنني أن أقول فهرس هنا. ومرة أخرى ، يمكن أن يكون هذا أي شيء. أنا فقط سأسميها الفهرس. لذا يمكننا أن نقول عن الفهرس في النطاق ، ثم في النطاق
2:37:18هنا ، يمكنني تمرير رقم. لذلك يمكنني أن أمرر مثل 10 ، على سبيل المثال. وهنا في الأسفل سأقوم فقط بطباعة الفهرس. عندما أقوم بتشغيل هذا البرنامج ، سترون ذلك يا رفاق
2:37:28ستقوم في الأساس بطباعة كل رقم في النطاق من صفر إلى 10 ، لا يشمل 10. لذا بدءًا من الصفر ، سيتم طباعة صفر ، واحد ، اثنان ، ثلاثة ، أربعة ، خمسة ، ستة ، سبعة ، ثمانية ، تسعة. لكن لاحظ أنه لم يطبع 10.
2:37:43لذلك فهي في الأساس تقوم فقط بطباعة جميع الأرقام بين صفر و 10 ، لا يشمل 10. يمكنك أيضًا تحديد نطاق من الأرقام. لذلك أستطيع أن أقول ، ل مثال ، مثل ثلاثة و 10. والآن هذا سوف يطبع كل الأرقام بين
2:37:59ثلاثة و 10 ، وليس بما في ذلك 10. لذلك نحن في هذا البرنامج. ويمكنك أن ترى أننا نطبع من ثلاثة ، أربعة ، خمسة ، ستة ، سبعة ، ثمانية ، تسعة ، وليس 10. لذا مهما كانت قيمة ذلك
2:38:11الذي تضعه هنا في هذا الموضع الثاني لن يتم تضمينه في النطاق. ويمكن أن تكون النطاقات مفيدة حقًا. على سبيل المثال ، يمكنني استخدام نطاق للحلقة
2:38:22من خلال مصفوفة ، تمامًا كما فعلنا من قبل. لذا إذا أردت ، يمكنني أن أقول شيئًا
2:38:27مثل أربعة فهرس في النطاق. والآن داخل هذا النطاق ، يمكنني تمرير الطول من المصفوفة. لذا فقط لكي تعرفوا يا رفاق ، إذا كنت أرغب في الحصول على طول هذا
2:38:40بعبارة أخرى ، إذا أردت معرفة عدد العناصر الموجودة بالداخل منه ، يمكنني فقط كتابة LEN ثم داخل الأقواس ، اسم مجموعة مصفوفة. وهذا سوف يبصق ثلاثة ، لأن هناك ثلاثة عناصر
2:38:54من الداخل هنا ، أليس كذلك؟ نوع من المنطقي. لذا ما يمكنني فعله هو أنني أستطيع أن أقول هنا
2:38:59داخل وظيفة النطاق هذه ، يمكنني فقط كتابة LEN ثم الأصدقاء. وماذا في ذلك هذا ما سيفعله هو أنه سيعطيني بشكل أساسي نطاقًا بين صفر
2:39:11وعدد الأصدقاء داخل هذه القائمة. لذلك في الأسفل ، يمكنني بالفعل الكتابة فهرس الأصدقاء. وهذا سيسمح لي بالوصول إلى كل صديق بالداخل
2:39:23من هذه القائمة ، تمامًا كما فعلنا من قبل. لكنني الآن أفعل ذلك بنطاق. وانت ايضا
2:39:28يمكن أن أرى أنني أكتب جيم وكارين وكيفن. لذلك في الواقع ، لكل تكرار من خلال هذه الحلقة ، سيتم في الأساس طباعة الأصدقاء صفر ، والأصدقاء واحد ، ثم صديقان اثنان ، لأننا هنا ، نمرر بثلاثة. و تذكر،
2:39:46كلما مررت هناك ، ستتراوح من الصفر إلى ذلك الحد الرقم ، ولكن لا يشمل ذلك الرقم. هذه طريقة أخرى يمكننا من خلالها الطباعة
2:39:54من كل العناصر في المصفوفة. ويتنقل عبر شيء مثل المصفوفة هي في الواقع حالة استخدام شائعة جدًا لحلقات for. لكن كما قلت ، نستطيع استخدام الحلقات للتكرار خلال أي مجموعة لدينا. حتى نتمكن من ذلك
2:40:08حلقة من خلال مثل سلسلة ، يمكننا أيضًا أن نمرر ، كما تعلمون ، شيء مثل
2:40:12مجموعة مصفوفة. لذلك يمكن أن يكون هذا مفيدًا حقًا. وهذا أحد أساسيات حلقات for في بايثون. وأريد أيضًا أن أريكم مثالًا آخر ، بينما نحن هنا فقط.
2:40:22فلماذا لا نمضي قدمًا ونطبع نطاقًا يصل إلى خمسة ، أليس كذلك؟ لذلك هذا فقط كن برنامجًا بسيطًا. يمكنك استخدام كل أنواع المنطق داخل حلقات for هذه. لذا
2:40:33لنفترض أنني أردت القيام بشيء خاص في التكرار الأول لـ حلقة. لذا يمكنني القول ، إذا كان الفهرس يساوي صفرًا. وإذا كان المؤشر صفرًا ، فنحن
2:40:44تعرف أنها أول تكرار للحلقة. لذلك يمكنني أن أفعل شيئًا مميزًا ، يمكنني ذلك
2:40:47مثل طباعة التكرار الأول. وبخلاف ذلك ، يمكننا فقط طباعة مثل لا أولاً. لذلك سيكون هذا مثالاً على الإعجاب ، ربما تريد أن تفعل شيئًا ما على
2:40:59التكرار الأول للحلقة والقيام بشيء آخر في التكرار اللاحق. لذلك إذا لعبت هذا ، سترى فقط في التكرار الأول هو طباعته. و وإلا فإنه يطبع أشياء أخرى. لذا ، كما تعلم ، لا تخف من وضع بعض
2:41:12منطق معقد داخل حلقات for ، لأنه يمكن أن يصنع برنامجك حقًا أقوى. في هذا البرنامج التعليمي ، سأوضح لكم يا رفاق كيفية إنشاء ملف دالة الأس. الآن ، ستسمح لنا وظيفة الأس بشكل أساسي بأخذ a
Exponent Function
2:41:29عدد معين ورفعه إلى قوة معينة. إذن في بايثون ، يوجد في الواقع ملف حقا طريقة سهلة للقيام بذلك. يمكنني القدوم إلى هنا ويمكنني الطباعة ، يمكننا أن نقول مثل
2:41:39اثنان ، ويمكننا فقط عمل علامتي ضرب. ويمكنني أن أقول ثلاثة. وهذا هو في الأساس سيكون اثنان مرفوعان للقوة الثالثة. لذا يمكنك أن ترى هنا ، أستطيع
2:41:51فقط اطبع هذا وحصلنا على ثمانية ، لأن هذا لطيف للغاية. لذلك هو حقًا من السهل القيام بالأسس في بايثون. لكني أريد أن أوضح لكم يا رفاق كيف يمكننا استخدامها
2:42:00شيء مثل حلقة for من أجل إنشاء وظيفة مثل هذه خاصة بنا. لذلك سننشئ بالفعل دالة أس تقوم بهذا أساسًا و سنستخدم حلقات for للقيام بذلك. لذلك دعونا ننشئ دالة. لذلك سأقول فقط
2:42:15def. والآن علينا تسمية هذه الدالة. فلماذا لا نسميها رفع إلى السلطة. وداخل هنا ، سأقبل معاملين. الأول ستكون المعلمة هي الرقم الأساسي. ومن ثم فإن المعلمة الثانية سوف
2:42:30كن رقم القوة. لذلك سنأخذ الرقم الأساسي ونرفعه إلى رقم القوة. لذا هنا ، يمكننا فقط عمل نقطتين. الآن ، داخل هذه الوظيفة ،
2:42:42نحن بحاجة إلى البدء في كتابة بعض التعليمات البرمجية. هنا الحاجة. داخل الوظيفة ، لا نفعل ذلك
2:42:46تعرف بالضرورة قيمة هذا الجنيه. يمين. على سبيل المثال ، إذا علمنا أننا كانوا يحاولون فقط وضع مربّع على هذا الرقم أو مكعب هذا الرقم ، كان بإمكاني فقط
2:42:57العودة مثل قاعدة الأسطوانات مضروبة في الأسطوانات ، أليس كذلك؟ من شأنه أن يربّع الرقم أو يمكنني ذلك الرقم مكعب الأسس. صح. إذن هذا سيكون مثل العدد تكعيبًا. ال
2:43:08المشكلة هي أننا لا نعرف على الفور ما الذي ستذهب إليه هذه القيمة يكون. يمين. يمكن أن يتغير هذا كما يمكن للمستخدم أن يقرر ذلك. لذلك من أجل كتابة هذا
2:43:17وظيفة ، سنحتاج في الواقع إلى استخدام حلقة for. وسأريكم كيف يمكننا استخدام حلقة for لمعرفة ذلك بشكل أساسي. لذا فإن أول شيء تريد أن تفعله هو إنشاء متغير. وسأسميها نتيجة. وكان
2:43:29سأحدد نتيجة تساوي واحدًا. لذلك سنبدأ هذا عند واحد. الآن أريد إنشاء حلقة for. لذلك سأقول أربعة فقط. وهنا ، أنا في الأساس أريد تحديد مثل الفهرس. لذلك سأقول الفهرس ، والآن أنا
2:43:47تريد تحديد نطاق وسيتوسطنا النطاق بشكل أساسي من خلال مجموعة من الأرقام. لذلك ، في الأساس ، أريد أن أضرب الأسس في نفسه بنفس عدد الضربات
2:43:58مرات كما يحدد الأسس الأسطوانات. يمين. لذا هنا ، يمكنني فقط أن أجعل هذا نطاقًا عدد الأسطوانات. يمين. ولذا سنقوم أساسًا بتكرار حلقة for هذه عدة مرات
2:44:12كما الجنيه لهم. لذا ، إذا كان عدد الدقائق يساوي اثنين ، فسنقوم بتكرارها مرتين. إذا قصف لهم هي أربعة ، سنقوم بالتكرار خلالها أربع مرات. وفي كل مرة من خلال الحلقة سوف
2:44:20اضرب الأساس num في نفسه. أو في الواقع ، سترى أننا سنضربها في هذه النتيجة. لذا في الأسفل هنا داخل حلقة for ، يمكنني القول أساسًا أن النتيجة هي
2:44:30يساوي الناتج ضرب عدد الأساس. يجب أن يمنحنا هذا في الواقع كل ما نحتاج إليه خذ هذا الرقم إلى القوة المحددة. لذا فإن النتيجة الفعلية ، كما تعلمون ، لـ
2:44:43سيؤدي إجراء العمليات الحسابية إلى تخزينها داخل متغير النتيجة هذا. لذلك في المرة الأولى خلال الحلقة ، نقوم بضرب عدد الأساس في واحد. يمين. و لذلك الآن ستصبح النتيجة هي نفس قيمة الأسس. المره الثانيه
2:44:58من خلال الحلقة. إذاً هذا سيكون إذا كنا نربيع العدد ، فنحن في الأساس ضرب الناتج في الأسطوانات الأساسية مرة أخرى. إذن فهو أساسًا مجرد عدد مرات الضرب في القاعدة
2:45:06الرقم الأساسي. في المرة الثالثة خلال الحلقة ، نضرب الناتج في عدد الأساس.
2:45:10لذلك نحن في الأساس نحب تكعيب العدد. لذلك هذا أساسًا ما هذا لوب هو القيام به بالنسبة لنا. لذا فإن آخر شيء أريد القيام به هو هنا أدناه
2:45:19هذه الحلقة ، سأعيد النتيجة. لذا سنكون قادرين على العودة مهما كانت نتيجة رفع الرقم إلى قوة. حسنًا. لذلك دعونا تنزل بعد هذه الوظيفة. وسوف نسميها فقط. لذلك أنا ذاهب فقط
2:45:32لنقول ، في الواقع ، سنطبع الإجابة. لذلك سأقول رفع إلى السلطة. وداخل هذين القوسين ، تذكر أنه يمكننا تمرير عددين. لذلك دعونا ارفع ثلاثة للقوة الثانية. إذن سنقوم بتربيع ثلاثة. وسنرى
2:45:46كيف يعمل هذا. لذا ارمي على البرنامج. ويمكنك أن ترى في الأسفل هنا في وحدة التحكم نحصل على تسعة. لنجرب شيئًا أكثر جنونًا. دعنا نجرب ثلاثة ل
2:45:56القوة الرابعة. وسنجري هذا ونحصل على 81. إذن هذا ثلاثة مرفوع إلى الرابع قوة. لنجرب اثنين أس الثالث. ونحصل على ثمانية. نعم ، هذا يجعل حاسة. إذن ، دالة الرفع تعمل كما هو متوقع. وسأفعل
2:46:12امشوا يا رفاق من خلاله مرة أخرى. إذن ، داخل هذه الدالة ، نأخذ في جزأين من المدخلات ، نأخذ رقمًا أساسيًا ، ونأخذ a
2:46:20رقم القوة. هذا مثل ، العدد الأساسي سيؤخذ إلى القوة رقم. أقوم هنا بتعريف متغير يسمى النتيجة. والنتيجة هي ما نذهب إليه لتخزين النتيجة الفعلية للحساب. الآن نحدد هذه الحلقة من أجل. و
2:46:35أنا أقول في الأساس أنني أريد أن أعود عبر هذا النطاق من الأرقام. عندما أضع
2:46:40باوند هنا ، سيتراوح بشكل أساسي من الصفر حتى النهاية ولكن ليس كذلك بما في ذلك رقم القوة. لذلك سنقوم بشكل أساسي بعمل حلقة من خلال عدد الأسس
2:46:49مرات ، إذا كان ذلك منطقيًا. وبعد ذلك في كل مرة من خلال الحلقة ، نحن فقط
2:46:52ضرب الناتج في عدد الأساس. وبعد ذلك نعود فقط بالنتائج. اذن هذا أساسيات بناء وظيفة الطاقة. ومن الواضح ، كما لو كنت تحاول فقط لأخذ رقم إلى قوة و Python ، إنه أمر سهل حقًا. لكن هذا النوع من الصور يظهر لك
2:47:05مثل الأعمال الداخلية ، أليس كذلك؟ لكي تعمل دالة مثل هذه ، سيكون لدينا
2:47:09لكتابة شيء مثل هذا في الواقع. وهذا البرنامج التعليمي ، أريد أن أتحدث لكم يا رفاق حول مفهومين مختلفين في بايثون. سيكون رائعًا جدًا درس. أول شيء أريد أن أعرضه لكم يا رفاق ، هو قوائم ثنائية الأبعاد. لذا
2D Lists & Nested Loops
2:47:26هنا في ملف Python الخاص بنا ، أريد فقط إنشاء قائمة أساسية. لذلك أنا ذاهب فقط
2:47:32لاستدعاء هذا الرقم الشبكة. وسأجعل هذا مساويًا لقائمة عادية تمامًا مثل هذا. الآن عادةً إذا كنا ننشئ قائمة ، يمكنني فقط وضع ملف حفنة من السمات ومجموعة من العناصر ، أليس كذلك؟ والآن كل هذه العناصر
2:47:47داخل قائمة شبكة الأرقام هذه. الجميع سعداء. لكن الشيء الآخر الذي يمكنني فعله هو أنا يمكن أن تجعل جميع العناصر الموجودة داخل قوائم شبكة الأرقام هذه. لذا فإن العنصر الأول
2:48:00في قائمة شبكة الأرقام ستكون قائمة. العنصر الثاني في شبكة الأرقام
2:48:04القائمة ستكون قائمة ، وما إلى ذلك. لذا سأريكم يا رفاق كيفية القيام بذلك. أنا يمكن أن ينزل هنا فقط وأين أضع العنصر الأول عادةً في القائمة ، يمكنني فقط إنشاء مجموعة أخرى. لذلك أنا فقط سأقوم بعمل مفتوح
2:48:16وقوس مربع مغلق. والآن سأقول فقط 123. ويمكنني إنشاء العنصر التالي في قائمتي. أستطيع أن أقول 456. ودعونا نجعل عنصرًا آخر في هذه القائمة. أنا يمكن أن نقول 789. وأخيرًا ، سنضع قائمة أخرى داخل الرقم
2:48:36قائمة الشبكة. وسيكون هناك صفر بداخله. حتى داخل هذا الرقم قائمة الشبكة ، هذه القائمة الشاملة عالية المستوى ، لدينا أربعة عناصر. وكل من
2:48:48هذه العناصر هي نفسها قوائم. لذا فإن ما نفعله هو أننا إنشاء شبكة ، أليس كذلك؟ تحتوي هذه الشبكة على 1234 صفًا و 123 عمودًا على اليمين وأربعة
2:49:03صفوف ، ثلاثة أعمدة. وهذا نوع من مثل لماذا يمكن أن تكون هذه مفيدة هو أننا نستطيع
2:49:07إنشاء شبكة مثل بنية داخل بايثون باستخدام قوائم ثنائية الأبعاد. لذا هذا هيكل قائمة رائع. وأريد أن أريكم يا رفاق كيف يمكننا ذلك الوصول إلى العناصر الفردية داخل بنية القائمة هذه. لذلك ، على سبيل المثال ،
2:49:24لنفترض أنني أردت طباعة إحدى هذه القيم. لنفترض أنني أردت الطباعة
2:49:27خارج هذا هنا. الطريقة التي يمكنني الوصول إليها هي بقول شبكة الأرقام. و أول شيء أريد القيام به هو عمل قوسين مربعين مفتوحين ومغلقين. و في هنا ، أريد أن أضع فهرس الصف الذي أريد الوصول إليه. لذلك سيكون هذا
2:49:44مثل الصف صفر ، لأن هذا هو العنصر الصفري في المصفوفة. سيكون هذا الصف الأول. إنه في موضع المؤشر الأول. سيكون هذا الصف الثاني ، الصف الثالث ، إلخ. لذا يمكنني وضعه
2:49:54صف صفر. والآن بجوار هذا ، سأقوم بعمل قوس مربع آخر. وأريد أن أضع فهرس العمود. لذلك سيكون هذا مثل العمود الأول ، العمود اثنان ، العمود الثالث. لذا سأضع صفرًا آخر ، لأن هذا عند
2:50:09الفهرس الصفري لهذه المجموعة الأولى. لذا أضع صفر صفر هنا. الآن نستطيع اطبع هذا الرجل على الشاشة. وسترى هنا أننا حصلنا على ذلك. لذا أنا
2:50:21يمكن أيضًا القيام بذلك لمثل هؤلاء الثمانية ، على سبيل المثال. إذن هذا سيكون صفرًا
2:50:25واحد اثنان. سيكون الصف الثاني والعمود الأول. والآن يجب أن نكون قادرين على ذلك طباعة تلك الثمانية. هذه هي الطريقة التي يمكننا من خلالها الوصول إلى العناصر الموجودة داخل هذا
2:50:37قائمة ثنائية الأبعاد. الشيء التالي الذي أريد أن أعرضه لكم يا رفاق هو حلقة for المتداخلة. ومتداخلة
2:50:43حلقة for هي حالة ، كما قلت ، حيث لدينا حلقة for داخل حلقة for. وسأوضح لك كيف يمكننا استخدام حلقة for المتداخلة لطباعة الكل العناصر الموجودة داخل هذه المجموعة. لذلك أريكم يا رفاق كيفية التحليل
2:50:57من خلال قائمة ثنائية الأبعاد أو مصفوفة ثنائية الأبعاد. حسنًا ، في الأساس سنقوم فقط بإنشاء حلقة for عادية. لذا سأقول أربعة ، وأنا فقط
2:51:06سأقول صف في شبكة الأرقام. وأنا أستخدم صف الكلمات هنا لأنني لطيف من رؤية هؤلاء الرجال كصفوف ، أليس كذلك؟ هذه نوع من الصفوف الأفقية في مجموعتنا الصغيرة
2:51:18شبكة. لذلك لكل من هذه الصفوف ، لكل عنصر من العناصر داخل شبكة الأرقام ، أنا تريد أن تمر عبر. لذا يمكنني بالفعل طباعة كل صف الآن. وهي سأطبع كل الصفوف داخل هذه القائمة. يمكنك أن ترى في الأسفل هنا ،
2:51:32نحن في الأساس نحصل على ما لدينا بالضبط. لكني أريد أن أكون قادرًا على ذلك الوصول إلى كل من هذه السمات الفردية داخل كل عنصر من عناصر المصفوفة.
2:51:42لذلك يمكننا في الواقع إنشاء حلقة for أخرى. وسأضع حلقة for في الداخل من هنا. لذا سأقول الآن عن العمود في الصف. وماذا يحدث هذا بشكل أساسي لإعطائنا كل عمود فردي أو كل عنصر فردي بداخلها
2:52:01المصفوفات. على سبيل المثال ، داخل المصفوفات التي تمثل عناصر شبكة الأرقام.
2:52:06اتمنى ان يكون هذا منطقي لذا هنا في الأسفل ، يمكنني الآن طباعة العمود ، وهذا يجب في الواقع طباعة كل قيمة مفردة داخل هذه المصفوفة ثنائية الأبعاد.
2:52:17فلنبدأ تشغيل هذا البرنامج. وهنا بالأسفل ، سترى أننا طباعة واحدة بشكل أساسي وصولاً إلى الصفر. لذلك نحن نطبع كل شيء من العناصر الموجودة داخل كل المصفوفات داخل شبكة الأرقام. اذن هذا
2:52:32كيف يمكننا استخدام قوائم ثنائية الأبعاد وأربع حلقات متداخلة معًا. وكلاهما
2:52:36هذه الأشياء في الواقع مفيدة جدًا في بايثون. في هذا البرنامج التعليمي ، سأعرض يمكنك بناء مترجم أساسي في بايثون. لذلك يمكننا أن نأخذ في الأساس أ حتى نأخذها مثل عبارة أو كلمة ، وسنكون قادرين على ترجمتها
Building a Translator
2:52:56بلغة مختلفة. هنا ، لدي هذا الملف الصغير ، وهو في الأساس يحدد هذه اللغة التي اخترعتها. لذا فإنني أسميها لغة المسودة.
2:53:05وفي لغة المسودة ، تصبح جميع أحرف العلة G. لذا إذا كنت سأقوم بترجمة ملف كلمة إنجليزية في مسودة كلمة ، على سبيل المثال ، كلمة كلب ، سأبحث من خلال
2:53:18كلمة كلب في أي حالات كان فيها حرف علة. لذلك في حالتنا ، دعنا نقول فقط AEIOU ، أود تحويل حرف العلة هذا إلى حرف G. لذا سيتم تعيين الكلب إلى DGG ، و cat
2:53:31الحصول على تعيين في CG T. فهذه هي قواعد الترجمة الأساسية. من الواضح أن هذا هو
2:53:36لغة بسيطة جدًا ، لكنك تفهم أن أي حرف متحرك سيصبح حرف G ، وبعد ذلك سنحصل على لغة المسودة. لذلك سنقوم ببناء مسودة مترجم. هنا في ملف Python الخاص بنا ، لنبدأ في عمل هذا المترجم. الشيء الأول
2:53:51سأفعله هو تحديد وظيفة الترجمة. لذا سأقوم بعمل دالة هنا ، وسأسميها فقط تترجم. وداخل هذه الأقواس ، نريد أن يأخذ هذا معلومة واحدة ، والتي ستكون العبارة التي نريد ترجمتها. لذلك سأقول عبارة. والآن داخل هذا
2:54:11الوظيفة ، نحتاج إلى معرفة مثل ، حسنًا ، كيف يمكننا ترجمة اللغة الإنجليزية إلى لغة المسودة؟ حسنًا ، تذكر أن القواعد هي في الأساس مجرد أحرف متحركة تصبح حرف G.
2:54:23لذا فإن أول شيء أريد القيام به هو إنشاء متغير. وهذا المتغير ذاهب إلى
2:54:27كن الترجمة. لذا ستكون هذه النتيجة النهائية التي سنعود إليها للمستخدم. لذلك أستطيع أن أقول الترجمة. في الوقت الحالي ، سأجعلها تساوي السلسلة الفارغة. لذلك سيكون هذا مجرد سلسلة فارغة تمامًا. ليست كذلك
2:54:41سيفعل أي شيء. والآن ما نريد القيام به هو أننا نريد ذلك أساسًا حلقة من خلال كل حرف داخل هذه العبارة. وإذا كان حرفًا متحركًا ، فنحن نريد ذلك
2:54:52قم بتغييره إلى G. وإذا لم يكن حرف متحرك ، فنحن نريد تركه بمفرده. وكان في الأساس سيكون الحلقات من خلال العبارة. وسنضيف
2:55:00رسائل على هذه الترجمة واحدة تلو الأخرى. لذا اسمحوا لي أن أريكم يا رفاق كيف يمكننا القيام بذلك.
2:55:05سأقوم بعمل حلقة for. لذا سأقول أربعة. وسأقول فقط الرسالة في العبارة. والآن ، عندما أقوم بالتكرار هنا ، يمكنني الوصول إلى كل منها حرف فردي داخل العبارة التي مروا بها. إذن ما أريده
2:55:23افعل هل اريد ان اتفحص اذا كان الحرف متحرك ام لا ، صحيح؟ إذا كانت حرف العلة ، ثم يمكننا إضافة حرف G إلى الترجمة. إذا لم يكن حرفًا متحركًا ، فيمكننا إضافة
2:55:34مهما كانت الرسالة التي تمت ترجمتها على أي حال. لذلك سأستخدم هذا إذا إفادة. سأقول إذا. وهناك بالفعل هذا الشيء المميز الذي يمكننا القيام به
2:55:44بايثون ، يمكننا التحقق لمعرفة ما إذا كان هناك شيء ما في شيء آخر. لذلك أستطيع أن أقول إذا
2:55:49حرف داخلي ، وهنا ، سأقوم فقط بكتابة جميع أحرف العلة. لذلك سنقول AEIOU و AEIO U. لذا فأنا في الأساس أتحقق لمعرفة ما إذا كان الحرف بالداخل
2:56:02من هذه السلسلة. وإذا كان الحرف بالداخل من هنا ، فإننا نعلم أنه حرف متحرك. لذا هنا بالأسفل ، يمكننا التعامل مع هذه الحالة. لذلك أستطيع أن أقول ، الترجمة تساوي
2:56:15translation plus G. لأنه إذا كان هذا الحرف حرفًا متحركًا ، فنحن نريد فقط تحويله إلى G. بخلاف ذلك ، يمكنني القول ببساطة ، الترجمة تساوي
2:56:32ترجمة بالإضافة إلى الرسالة. في حالة وجود حرف متحرك ، سأضيف حرف G عليه ترجمة. في حالة عدم وجود حرف متحرك ، أقوم فقط بإضافة أي شيء
2:56:43الرسالة التي كانت على الترجمة. أخيرًا ، أسفل حلقة for ، نريد فقط لإعادة الترجمة. لذلك سأقول ترجمة العودة. والآن نحن لها وظيفة ترجمة رائعة ، ومن المحتمل أن تعمل. فلننزل
2:57:01هنا وسنختبرها. فلماذا لا نسمح للمستخدم بإدخال البعض معلومة. لذلك سأطلق على هذه الوظيفة أساسًا. في الواقع ، نحن ذاهبون إلى
2:57:09إطبعه. لذلك سنطبع هذا. وسأسمي هذه الوظيفة يترجم. وداخل هنا ، سأمرر أي مستخدم المدخلات. لذا يمكنني فقط أن أقول المدخلات. وداخل هذه الأقواس ، يمكنني أن أقول ال
2:57:26اِسْتَدْعَى. لذا أدخل عبارة. والآن أنا أجمع كل هذه العبارات بشكل أساسي معاً. أنا أقول أنني أريد طباعة ترجمة أي مستخدم يدخل فيها. لذلك دعونا نمضي قدمًا ونشغل هذا البرنامج ، وسنرى كيف نفعل. لذلك أنا
2:57:44ذاهب لتشغيل البرنامج. تقول أدخل عبارة. في الواقع ، اسمحوا لي أن تنسيق هذا افضل بقليل. تمام. حسنًا. لذلك تقول أدخل أ
2:57:55عبارة. لذلك دعونا نمضي قدمًا ونفعل ذلك. لذلك دعونا فقط نكتب في المثال الذي استخدمناه قبل. سأقول كلب. والآن تظهر الإجابة ، وهي dg g. لذا
2:58:06هذا رائع نوعًا ما. ويمكننا الاستمرار في تشغيل هذا عدة مرات كما نريد. لذلك يمكنني أن أكتب مثل أن أكون أو لا أكون. لذلك هذا مثل فترة أطول قليلاً من
2:58:15سلسلة. ويمكنك أن ترى أنه يترجمها إلى لغة المسودة لدينا. اذن هذا في الأساس كيف يمكننا إنشاء تطبيق المترجم الصغير الخاص بنا. وهذا رائع جدًا.
2:58:25وهكذا يمكنك أن ترى أننا نستخدم حلقة for جنبًا إلى جنب مع حلقة if. و هذا هيكل قوي حقًا. وفي الواقع ، هناك مكان واحد هنا حيث يمكننا جعل هذا أكثر فاعلية. لذا بدلاً من قول "إذا كانت الرسالة"
2:58:39في هذه السلسلة ، ستلاحظ هنا ، أنني أتحقق لمعرفة ما إذا كانت في الأسفل
2:58:44الحالة والأحرف الكبيرة. يمكنني في الواقع أن أقول فقط ما إذا كان الحرف منقوشًا في الأسفل. والآن لا بد لي من كتابة الأحرف الصغيرة فقط. وما زال يفعل
2:58:55نفس الشيء بالضبط. هذا يشبه إلى حد ما الاختراق أو أي شيء يمكننا استخدامه. و هناك أيضًا مشكلة أخرى في هذا البرنامج. لذلك ستلاحظ هنا ،
2:59:03نحن نضع الترجمة مساوية للترجمة بالإضافة إلى g. لكن المشكلة هي إذا كنت سأبدأ كلمتي داخل العبارة بحرف متحرك كبير. حتى في أخرى كلمات ، إذا قلت لايك ، ستلاحظ أنه عندما تتم طباعة هذا ، فإنه يحصل
2:59:19مطبوعة بأحرف صغيرة g وبالتالي فهي لا تحافظ على بناء الجملة الخاص بنا بالأحرف الكبيرة. وذاك
2:59:25نوع من المشكلة. لذا يمكننا استخدام عبارة if أخرى هنا. و نحن يمكن التحقق لمعرفة ما إذا كان الحرف نقطة أعلى. وإذا كان الحرف كبيرًا ، فنحن يمكن فقط تعيين الترجمة مساوية للترجمة بالإضافة إلى حرف G. وإلا ،
2:59:48يمكننا فقط أن نساويها بالحرف الصغير g. والآن نحن قادرون على التحكم في كليهما
2:59:54من تلك الحالات. لذلك دعونا فقط نختبر هذا ونرى ما إذا كان يعمل. أدخل عبارة ، يقول على. والآن نحتفظ بهذا الحرف الكبير. إذن هؤلاء مجرد زوجين طرق مختلفة يمكننا من خلالها تحسين هذا البرنامج قليلاً. لكن ال
3:00:09المفهوم الأساسي هو أن لدينا حلقة for ومن ثم لدينا بعض حلقات if بداخلها.
3:00:12ونحن نطلق على هذه الوظيفة الرائعة التي يمكنها ترجمة كلمة لنا. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن التعليقات في بايثون. هذا هو
Comments
3:00:24سيكون برنامجًا تعليميًا قصيرًا جدًا. أريد فقط أن أعطيكم يا رفاق نظرة عامة عن
3:00:28ما هي التعليقات وكيف يمكننا استخدامها في برامج بايثون الخاصة بنا. حتى هنا في برنامج بايثون الخاص بي ، لدي هذا السطر هنا. تقول التعليقات المطبوعة ممتعة. لذا
3:00:38إذا قمت بتشغيل برنامجي هنا داخل وحدة التحكم ، فسيتم طباعته هذه التعليقات ممتعة ، أليس كذلك؟ لذا فإن أي رمز أضعه هنا سيحصل عليه
3:00:48نفذتها بايثون. لكن في الواقع يوجد سطر خاص من التعليمات البرمجية يمكننا كتابته ويطلق عليه تعليق. والتعليق هو في الأساس سطر داخل بايثون الملف الذي لن يتم عرضه بواسطة Python. لذلك عندما تراه بايثون ،
3:01:03سوف يتجاهلها فقط. لن يتم تنفيذه. انها لن طباعة أي شيء. سوف يتجاهلها نوعًا ما. والتعليقات سيتم استخدامها فقط لنا نحن البشر. لذلك يتم استخدام التعليق لمثلي أو لغيرها
3:01:15المطور لكتابة تعليق صغير ، يشبه إلى حد ما نص عادي ، كما تعلم ، يعلق داخل ملف. من أجل إنشاء تعليق ، يمكنني استخدام رمز الهاشتاج هذا.
3:01:25لذا يمكنني النقر فوق علامة التصنيف والآن أكتب تعليقًا. حتى أستطيع أن أكتب كل ما كنت
3:01:30مطلوب هنا. يمكنني القول أن هذا البرنامج رائع. وستلاحظون عندما أكون ضعه في البرنامج ، لا يظهر في أي مكان ، أليس كذلك؟ لا يهم ماذا أضع بعد هذا الهاشتاج. هذا تمامًا مثلما تتجاهله بايثون. إنه فقط من أجلي
3:01:46أو مطور آخر يأتي هنا ويستخدم. لذلك في كثير من الأحيان إذا كنت تريد ذلك
3:01:50اكتب مثل ملاحظة صغيرة داخل ملفات Python ، أو ربما يمكنك الكتابة لنفسك تذكيرًا صغيرًا ، أو إذا كنت تريد أن تكتب سطرًا ليحب أن تشرح سطرًا من شفرة. على سبيل المثال ، يمكنني كتابة تعليق يشرح هذه المطبوعة
3:02:03إفادة. لذا يمكنني القول أن مثل هذا يطبع سلسلة ، أليس كذلك؟ الآن أي شخص يبحث
3:02:08في ملفي سيكونون قادرين على قراءة هذا وسيكونون مثل ، أوه ، هذا ما هذا يفعل. حسنًا ، رائع. لذا فإن التعليقات مفيدة لترك تعليقات صغيرة في لغة بايثون
3:02:18ملف. إذا كنت ترغب في إبداء تعليقات على أسطر متعددة ، يمكنك فقط إنشاء ملف
3:02:22خط واستخدم علامة تصنيف أخرى. ومن ثم يمكنني كتابة أي تعليقي التالي كان. وعمومًا ، إذا كنت ستضع تعليقات في سطور متعددة ، فأنت تريد ذلك
3:02:30فقط استخدم علامات تصنيف متعددة. لكن في الواقع هناك طريقة أخرى يمكنك من خلالها الكتابة
3:02:35من التعليقات. لذلك يمكنك استخدام علامة اقتباس ثلاثية. لذا فأنا أكتب ملف اقتباس واحد. وأنا أكتبها ثلاث مرات. يمكنك أن ترى هنا هنا ، نحن
3:02:45لدينا هذا ثلاث مرات ، لدينا هذا ثلاث مرات. لذا هنا ، يمكنني ، كما تعلم ، أكتب أي تعليق أريده. لذا يمكنني أن أضع ، كما تعلمون ، أكبر قدر من النص هنا
3:02:54تريد. ونفس الشيء ، عندما أقوم بتشغيل هذا البرنامج ، لن يحصل ذلك المقدمة. لذا فهذه طريقة أخرى لكتابة تعليقات متعددة الأسطر. لكن ، مثل ،
3:03:05بايثون الرسمية ، مثل أدلة الأسلوب أو أي شيء آخر ، فقط توصي بذلك إذا كنت تريد ذلك ستضع التعليقات على أسطر متعددة ، فأنت تستخدم علامات التصنيف هذه. اذا انت تعرف،
3:03:14يمكنك حقًا أن تفعل ما تريد. ولكن إذا كنت تريد أن تكون مثل سوبر بايثون
3:03:17مسؤول ، ثم استخدم علامات التصنيف هذه. يمكن أن تكون التعليقات مفيدة أيضًا لفعل شيء ما دعا التعليق خارج سطر من التعليمات البرمجية. في كثير من الأحيان عندما تكتب a
3:03:27البرنامج ، قد يكون لديك سطر من التعليمات البرمجية هناك ربما يشبه الاحتمال العبث الاشياء. ولذا ما يمكنك فعله هو أنه يمكنك بالفعل التعليق على ذلك
3:03:36سطر من التعليمات البرمجية. لذا يمكنني وضع تعليق أمام هذا السطر من التعليمات البرمجية. والآن متى أقوم بتشغيل برنامجي ، وسيعمل البرنامج ، لكنه لن يستخدم هذا الخط.
3:03:46لذلك في بعض الأحيان إذا كنت تحاول معرفة ما إذا كان مثل سطر من التعليمات البرمجية يسبب لك مشكلة
3:03:50أو إذا كنت تريد أن ترى كيف سيكون شكل برنامجك بدون سطر من التعليمات البرمجية ، أو حتى لو كانت كتلة من التعليمات البرمجية ، يمكنك فقط التعليق عليها. وبهذه الطريقة أنت لست كذلك
3:03:58في الواقع حذف الرمز من ملفك. أنت فقط تعلق عليه. إذن بيثون سوف تتجاهله. وهذان هما حقًا الاستخدامان للتعليقات وهما الكتابة ملاحظات صغيرة ، اكتب تعليقات صغيرة حول أشياء مختلفة أو للتعليق على الكود.
3:04:12ومع تقدمك في Python ، أنا متأكد من أنك ستجد استخدامات للتعليقات. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق حول اكتشاف الأخطاء في بايثون.
Try / Except
3:04:25الآن ، في كثير من الأحيان عندما نقوم بتشغيل برامج Python ، ستواجه مختلفة أخطاء. لذلك قد تظهر مواقف مختلفة وقد يتسبب برنامجك في حدوث خطأ
3:04:33أو قد يطرح استثناء. وفي كثير من الأحيان عندما تحدث هذه المواقف ، سيوقفون تشغيل برنامجك تمامًا. وما يمكننا فعله في الواقع هو يمكننا الانتباه ، كما تعلمون ، إلى بعض الأخطاء المحددة التي ستظهر
3:04:47في برنامجنا ويمكننا التعامل معها بالفعل. لذا بدلاً من برنامجنا فقط كسر والتوقف عن التنفيذ ، يمكننا في الواقع التعامل مع تلك الأخطاء والقيام بالأشياء
3:04:55عندما تحدث. لذلك أريد أن أريكم يا رفاق مثالاً على استخدام هذا هنا.
3:04:59أنا أقول أن الرقم يساوي إدخال int أدخل رقمًا. في الأساس ما يحدث هو أنني أطالب المستخدم بإدخال رقم باستخدام أمر الإدخال هذا. وثم أقوم بتحويل كل ما أدخلوه إلى عدد صحيح. طالما أنهم يدخلون
3:05:14مثل عدد صحيح ، يمكنني تحويله إلى عدد صحيح. لذا يمكنني تحويله إلى مثل عدد صحيح ويمكنني تخزينه داخل متغير الرقم هذا فقط طباعته. لذلك دعونا نحاول تنفيذ هذا البرنامج. أنا ذاهب للجري
3:05:25البرنامج وسترى هنا بالأسفل يقول أدخل رقمًا. حتى نتمكن من الدخول مثل أربعة ، على سبيل المثال. وعندما أدخل أربعة ، كل شيء سوف يعمل و ستطبع أربعة فقط وكل شيء على ما يرام في العالم. و
3:05:38في الواقع ، سأقوم بتعديل هذا هنا. لذلك من الأسهل قليلاً رؤيته. لكن لنفترض أننا قمنا بتشغيل البرنامج مرة أخرى. لذلك تقول ، حسنًا ، أدخل رقمك. دعنا نقول
3:05:46أنني أخالف القواعد ولا أدخل رقمًا. لذلك أنا فقط أتجاهل ما يقول موجه وأنا أضع ، كما تعلمون ، بعض النصوص العشوائية هنا. الآن عندما أدخل هذا ، سيقوم البرنامج بإلقاء خطأ. يمكنك أن ترى هنا ، تقول خطأ القيمة
3:06:00حرفية غير صالحة للقاعدة int ذات القاعدة 10. بشكل أساسي ، لم تدخل في عدد صحيح كما قلت ، أليس كذلك؟ قلنا لهم أن يدخلوا في رقم. هم دخلت في النص. لذلك كسر البرنامج. وهذا هو الوضع الذي يحدث
3:06:16كثير. لذلك هناك الكثير من المواقف المختلفة حيث يمكن أن يحدث شيء ما
3:06:19خطأ في برنامجنا. وأنا حتى الآن قد قبلناها نوعًا ما على أنها a الواقع. ولكن إذا كنت تكتب برنامج Python حيًا حقيقيًا ، فأنت لا تريد شيئًا مثل هذا لتعطيل برنامجك. لا تريد أن ينقطع البرنامج بأكمله متى
3:06:31شخص ما ينسى فقط إدخال رقم ، أليس كذلك؟ تريد أن تكون قادرًا على التعامل معه كل هذه المواقف المختلفة. ومن أجل التعامل معها ، يمكننا استخدام شيء ما
3:06:39دعا محاولة باستثناء كتلة. وستسمح تجربة باستثناء الكتلة بشكل أساسي بملف برنامج لتجربة جزء من التعليمات البرمجية. وإذا سارت الأمور على ما يرام ، فنحن رائعون.
3:06:49كما يمكننا محاولة إدخال الرقم. وإذا قام المستخدم بإدخال في العدد الصحيح ، عظيم. ولكن إذا لم يدخلوا الرقم الصحيح ، فيمكننا ذلك في الأساس مثل حساب لذلك. لذلك دخلوا في شيء مثل الخيط عندما
3:07:00من المفترض أن يدخلوا رقمًا ، يمكننا إخبارهم مثل ، مرحبًا ، لقد أدخلت في الشيء الخطأ. لذا سأريكم يا رفاق كيف يمكننا استخدام هذه المحاولة باستثناء
3:07:08كتل. سوف آتي إلى هنا ، وسأقول حاول. انا ذاهب الى جعل انها القولون. وأريد أن أضع مسافة بادئة لكلا هذين الأمرين. كل من هذه الأشياء ستكون داخل كتلة المحاولة هذه. الآن سأقوم بعمل سطر جديد. انا ذاهب
3:07:21للنزول إلى هنا وسأقوم بالكتابة فقط. باستثناء ، وسأذهب أيضًا ضع نقطتين هنا. وهنا ، سأقوم بطباعة شيء ما. لذلك أنا فقط قل مثل المدخلات غير الصالحة. الآن ، بما أنني وضعت هذا الرمز داخل كتلة المحاولة هذه ،
3:07:36إذا دخل المستخدم في شيء خاطئ ، فسيكون قادرًا على الإمساك به. لذلك سوف أن تكون قادرًا على اكتشاف ما يفعله المستخدم بشكل خاطئ وطباعة المدخلات غير الصالحة على ملف
3:07:45شاشة. فلنبدأ تشغيل برنامجنا. وسيقول فقط أدخل رقم. لذلك سوف نتجاهل ذلك. سنقوم بإدخال هذا في. والآن بدلاً من يصرخ فينا ويكسر البرنامج ، يقول فقط ، مرحبًا ، إدخال غير صالح. هكذا كان
3:07:58قادرة على التعامل مع الخطأ الذي تم استدعاؤهم. كان قادرا على التعامل مع المدخلات غير الصالحة خطأ. أخبرنا للتو ، مرحبًا ، لا مزيد من المدخلات. لذلك هذا هو حقا قوي
3:08:09الشيء الذي يمكننا القيام به في برامج بايثون الخاصة بنا. في الأساس فقط لحماية
3:08:13البرامج ، أليس كذلك؟ إذا كنت أرغب في تشغيل برنامجي لفترة طويلة ، لا يمكنني الحصول على شيء بسيط مثل إدخال غير صالح ، قم برحيله. لذلك يمكنني
3:08:21قبض على هذا الإدخال غير صالح باستخدام هذه حاول قبول الكتل. ولكن هذا هو الشيء.
3:08:25ستلاحظ أن هذا الرجل الصغير هنا يتم تسليط الضوء عليه. ودعونا فقط انظر ماذا سيقول. لذلك فهي تقول أساسًا لبند استثناء واسع. وهذه رسالة نتلقاها لأنني عندما أقول فقط اقبل ، هذا
3:08:39سيكتشف أي خطأ تحت الشمس. لذلك أي شيء يمكن أن يحدث خطأ في برنامجي بالنسبة للجزء الأكبر ، هذا سيقبله. لذا اسمحوا لي أن أعطيكم يا رفاق
3:08:47مثال. لنفترض أنه كان لدي في برنامجي ، كنت أقوم بإنشاء متغير ، أليس كذلك؟ لذا أنا أراد إنشاء متغير يسمى القيمة. وجعلته يساوي 10 مقسومًا على
3:08:57صفر. الآن ، إذا كنت تعرف أي شيء عن الرياضيات ، فستعرف أنه لا يمكنك تقسيم a رقم بصفر. إنه غير ممكن. لذا لن يكون البرنامج قادرًا على ذلك امسك هذا. وسترى أن هذا سيؤدي إلى خطأ بالنسبة لنا. لذلك عندما كنت
3:09:08قم بتشغيل البرنامج ، فهو يقول بشكل أساسي إن القسمة الصفرية والخطأ على الصفر. كان
3:09:13لا يسمح بذلك ، أليس كذلك؟ إذا أخذت هذا ووضعته داخل هذا بلوك جاف ، وقد قمت بلصقه هنا للتو ، سوف يعلق به هذا الاستثناء الذي كتبناه هنا. لذلك سوف يتم القبض عليه
3:09:27يقبل. لذلك عندما أقوم بتشغيل البرنامج ، سترى أنه يشير إلى إدخال غير صالح. لكن ال المشكلة هي أننا لم ندخل شيئًا غير صالح ، أليس كذلك؟ نحن فقط انقسمنا
3:09:37بنسبة صفر ، لكنها لم تكن قادرة على التعامل مع ذلك. يمين. لذلك لا يمكن القسمة على صفر من خلال خطأ. لذلك على الرغم من أننا لم نحصل على إدخال غير صالح ، على الرغم من ذلك
3:09:46كان ذلك لأننا قسمنا على صفر ، وما زلنا نطبع هذا. وهذا يجلب حتى نقطة أخرى هي أننا نستطيع فعلاً اللحاق ، أو يمكننا قبول ما هو محدد
3:09:55أنواع الأخطاء. على سبيل المثال ، في هذه الحالة ، حصلنا على قسمة على صفر خطأ. في
3:10:00في هذه الحالة ، حصلنا على خطأ إدخال غير صالح ، أليس كذلك؟ لقد وضعنا شيئًا ما كان خاطئًا. لا يمكنك تحويل القيمة. لذلك يمكنني إنشاء كتلتين مختلفتين للقبول
3:10:09التقاط نوعين مختلفين من الأخطاء. لذا هنا في الأسفل ، يمكنني صنع مساحة وأنا يمكن تحديد نوع الخطأ الذي أريد اكتشافه. لذلك عندما نقسمها على صفر ، فإنها
3:10:19كان خطأ قسمة صفر. إذا وضعت صفر خطأ قسمة هنا ، فهو الآن سنكتشف خطأ القسمة الصفري هذا. لذا يمكنني القول مقسومة على صفر. أستطع أيضا تقديم قبول آخر. لذلك أستطيع أن أقول قبول. ويمكننا الإمساك بالآخر
3:10:36الاستثناء الذي حصلنا عليه. لذلك أعتقد أنه كان خطأ في القيمة ، أليس كذلك؟ لقد كان ، وضعنا
3:10:41نوع القيمة داخل هذا الإدخال. حتى الآن يمكننا طباعة المدخلات غير الصالحة. لذا باستخدام هذين الكتل المقبولين ، يمكننا بشكل أساسي التعامل مع كلا النوعين
3:10:52مواقف. على سبيل المثال ، إذا انتهى الأمر بكسر البرنامج ، فهذا التقسيم حسب صفر ، فسيكون قادرًا على التقاط ذلك. لذلك في الأسفل هنا ، ستخبرنا ، أنت
3:11:01مقسومة على صفر. لكن إذا أردت التخلص من هذا السطر من التعليمات البرمجية ، فقد دخلت للتو في الرقم خاطئ. لذلك جئت إلى هنا ودخلت في سلسلة بدلاً من a
3:11:11رقم. الآن سيخبرنا بإدخال غير صالح. لذلك سنكون قادرين على ذلك تحديد ما يحدث عندما تنكسر أشياء معينة. لذلك عندما نحصل على صلاحية ، عندما نحصل على
3:11:20نحصل على خطأ في القيمة ، يمكننا أن نقول إدخال غير صالح ، عندما نحصل على خطأ قسمة صفري ، فإننا
3:11:24يمكن القول مقسومة على صفر. بناءً على ما يحدث ، اعتمادًا على ما يحدث ، يمكننا في الواقع القيام بأشياء مختلفة. وأريد أن أريكم شيئًا آخر يا رفاق
3:11:34يمكننا القيام به ، وهو أنه يمكننا بالفعل تخزين هذا الخطأ كمتغير. لذلك أستطيع أن أقول
3:11:40أقبل ، يمكنني القول باسم ، ويمكنني كتابة اسم هنا. لذلك في كثير من الأحيان سوف يفعل الناس فقط قل مثل ، إيه ص. وهنا ، يمكنني طباعة الخطأ الفعلي. لذلك يمكنني فقط
3:11:51طباعة إيه ص. وهكذا إذا انتهى بنا المطاف بالقسمة على صفر. لذلك إذا قلت الإجابات تساوي 10 مقسومًا على صفر ، سنطرح هذا الخطأ ، وسيتم طباعته
3:12:03ماذا حصل. حتى الآن يمكنني تشغيل هذا البرنامج. وهي تقول فقط القسمة على صفر. لذا فقد طبع الخطأ الذي حصلنا عليه. لذلك هذا شيء مفيد آخر بالنسبة لك
3:12:13يمكن أن تفعله هو أنه يمكنك بالفعل طباعة الخطأ المحدد الذي تم إلقاؤه. الآن،
3:12:17أفضل ممارسة في بايثون هي استخدام هذه الأخطاء المحددة. لذلك أنت دائما تريد ذلك قبول وقبول خطأ معين. ما لا تريد فعله هو أن تقول فقط اقبل ، ثم اقبل أي شيء تحت الشمس. إنه واسع جدًا. وهي
3:12:35ليست ممارسة جيدة في بايثون. لذلك تريد دائمًا اكتشاف أخطاء معينة مثل
3:12:39هذا. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن القراءة من الخارج الملفات في Python. الآن في كثير من الأحيان في Python ، سترغب في القراءة منها
Reading Files
3:12:52الملفات الموجودة خارج ملف Python الخاص بك. لذلك قد ترغب في قراءة المعلومات من مثل ملف نصي أو ملف CSV أو ملف HTML. ويمكنك بالفعل استخدام ملفات شيء يسمى أمر قراءة بايثون. وسيسمح لك بقراءة ملف
3:13:09يتم تخزينه خارج ملف Python الخاص بك. لذا يمكنك استخدام هذه الملفات للحصول على المعلومات أو يمكنك تحليل الملفات المختلفة والقيام بأشياء مختلفة. لذلك أنا ذاهب إلى
3:13:18أظهروا لكم يا رفاق أساسيات قراءة الملفات وفتح الملفات وإغلاق الملفات والقيام بكل شيء تلك الأشياء. هنا ، لدي هذا الملف المسمى الموظفين dot text. وهذا في الأساس
3:13:30يسرد فقط مجموعة من الموظفين المختلفين ، مثل هؤلاء يمكن أن يكونوا موظفين فيها
3:13:34مكتب أو أيا كان. لذا فهو يسرد فقط كل هذه المعلومات. لذلك دعنا نقول هذا داخل ملف التطبيق dot Python الخاص بي ، كنت أرغب في قراءة الموظفين بداخله هذا الملف. أول شيء علي فعله هو فتح هذا الملف من الداخل
3:13:50بايثون. لذلك يمكنني استخدام أمر خاص يسمى open. لذلك أستطيع أن أقول مفتوحة. وثم هنا ، يمكنني كتابة اسم الملف الذي أريد فتحه. إذن هذا إما
3:14:00سيكون مسارًا نسبيًا للملف ، أو مسارًا مطلقًا للملف ، أو مجرد ملف اسم الملفين إذا كان كلا الملفين في نفس الدليل. لذلك في حالتي ، التطبيق دوت بايثون والموظفين في نفس المجلد ، كما لو كانوا في نفس الدليل.
3:14:16لذا يمكنني فقط كتابة اسم الملف. يمكنني فقط أن أقول للموظفين نقطة نص. ثم أريد أن أضع شيئًا آخر داخل هذه الوظيفة المفتوحة. وهي سيكون الوضع الذي أريد فتح الملف فيه. حتى تتمكن من فتحه بالفعل
3:14:30في وضعين مختلفين. والوضع الأول يسمى القراءة. لذلك يمكنني فقط ضع حرف R هنا وهذا سيكون للقراءة. وهذا يعني في الأساس أنني أريد فقط قراءة المعلومات الموجودة داخل الملف. لا أريد التعديل
3:14:43هو - هي. لا أريد تغييره. انا فقط اريد ان اقراها أنا فقط أريد أن أرى ما بداخله
3:14:47الملف والقيام ببعض الأشياء باستخدام تلك المعلومات. وضع آخر يسمى يكتب. لذا يمكنني كتابة هذا w والكتابة تعني في الأساس أنه يمكنك تغيير
3:14:56ملف ، أليس كذلك؟ يمكنك كتابة معلومات جديدة. يمكنك تغيير المعلومات الموجودة. هناك واحد آخر يسمى a وحامل للإلحاق. وهذا يعني في الأساس أنه يمكنك إلحاق المعلومات بنهاية الملف. لذلك لا يمكنك التعديل
3:15:11أي من المعلومات الموجودة في الملف. لا يمكنك تغيير أي من المعلومات ، ولكن يمكنك إضافة معلومات جديدة. وهناك واحد آخر ، وهو R plus. وهذا يعني في الأساس القراءة والكتابة. لذلك سوف يمنحك هذا كل قوة القراءة
3:15:25والكتابة. لذا في حالتنا ، سنعمل فقط مع R. لذا سنقرأ من الملف. الآن ستكون هذه الوظيفة المفتوحة أساسًا فقط افتح الملف. لذلك سيكون مثل الانتقال إلى هذا الملف داخل ملفنا
3:15:40النظام ، افتحه ، وسيسمح لنا بقراءته. لكن بشكل عام ، نحن
3:15:44سوف ترغب في تخزين هذا الملف المفتوح داخل متغير. لذلك يمكنني إنشاء ملف متغير ويمكننا فقط تسميته ملف الموظف. وسأجعلها متساوية لهذه الوظيفة المفتوحة. حتى الآن ملف نصي مفتوح للموظفين وجميع ملفات
3:16:01يتم تخزين المحتوى الموجود بداخله داخل متغير ملف الموظف هذا. الآن ، في أي وقت عندما تفتح ملفًا ، فأنت تريد دائمًا التأكد من إغلاق الملف أيضًا. لذا
3:16:12مثلما لدينا هذا الأمر المفتوح ، لدينا أيضًا وظيفة قريبة. حتى أتمكن من المجيء
3:16:18هنا بالأسفل وقل أن ملف الموظف مغلق. وهذا في الأساس مجرد الذهاب إلى أغلق الملف. لذلك لن نتمكن من الوصول إليه بعد الآن. وعموما ، إنها فكرة جيدة عندما تفتح ملفًا ، فأنت تريد أيضًا التأكد من ذلك
3:16:33أنت تغلق الملف في وقت ما. بشكل عام ، بمجرد الانتهاء من قراءته ، يمكنك فقط إغلاقه. هذا يشبه إلى حد ما كيف يمكننا فتح وإغلاق ملف. الآن ، لنتحدث عن كيفية الحصول على المعلومات من الملف ، أليس كذلك؟ لا يوجد
3:16:45يشير إلى وجود الملف بحيث لا يمكننا معرفة ما بداخله. لذلك هناك في الواقع
3:16:48بعض الوظائف المختلفة التي يمكننا استخدامها في ملف الموظف هذا لمعرفة ما هو بداخله. وسأريكم يا رفاق بعضًا من هؤلاء. لذلك أنا ذاهب إلى
3:16:56تدلي ببيان طباعة. وداخل بيان الطباعة هذا سوف يطبع فقط بعض المعلومات عن ملف الموظف. لذا فإن أبسط شيء يمكننا طباعته هي فقط محتويات الملف بالكامل. لكن قبل أن أفعل ذلك ، أريد أن أريكم
3:17:11الرجال كيف يمكنك التحقق للتأكد من أن الملف قابل للقراءة. لذلك قبل أن نفعل أي شيء بخلاف ذلك ، بشكل عام ، من الجيد التأكد من إمكانية قراءة هذا الملف.
3:17:21وهناك دالة داخل لغة بايثون ، يمكننا استخدامها تسمى قابلة للقراءة. لذلك أنا فقط سنقوم بكتابة ملف الموظف نقطة قابلة للقراءة. وهذا سيعود أ
3:17:34قيمة منطقية. وسيخبرنا ما إذا كان بإمكاننا القراءة من هذا الملف أم لا.
3:17:38لذا سأقوم بتشغيل برنامجي. وسترى هنا ، نحصل على قيمة صحيحة. و هذا لأننا قمنا بتعيين الملف مع وضع القراءة. لذلك فهو في وضع القراءة ، يمكننا أن نقرأ
3:17:48منه. إذا كنت سأضع ضعف لك هنا. لذلك إذا وضعت مثل ، حسنًا ، يمكن قراءته الآن سيكون خطأ ، لأننا لم نعد قادرين على قراءة الملف ، يمكننا فقط الكتابة إلى
3:17:58ملف. لذلك سأقوم بتغيير هذا إلى منطقتنا حتى نتمكن من قراءته فقط. حتى مرة واحدة لك اكتشف ما إذا كان الملف يمكن قراءته أم لا ، دعنا نقرأه بالفعل. لذا هناك وظيفة أخرى تسمى ملف الموظف. وهذا في الأساس عادل
3:18:13بصق جميع المعلومات الموجودة في الملفات. لذلك عندما أقوم بتشغيل البرنامج ، يكون الأمر كذلك
3:18:17فقط بصق كل هذه المعلومات ، صحيح ، كل المعلومات التي كان في هذا الملف. يمكنني أيضًا القدوم إلى هنا ويمكننا قراءة سطر فردي داخل هذا الملف. حتى أستطيع أن أقول سطر ملف الموظف نقطة قراءة. وماذا يحدث هذا
3:18:31للقيام بذلك هو قراءة سطر فردي داخل هذا الملف. حتى الآن عندما كنت قم بتشغيل هذا البرنامج ، سترى أنه يقرأ فقط السطر الأول في الملف. و هذه وظيفة قراءة السطر هي في الواقع قراءة السطر الأول فقط. وبعد ذلك
3:18:45في الأساس مثل تحريك المؤشر قليلاً إلى السطر التالي. لذلك إذا كنت سأقوم بنسخ هذا
3:18:50رمز ثم طباعته مرة أخرى هنا ، أنا أقول ملف الموظف نقطة قراءة سطر. لذا سيقرأ السطر الأول. وبعد ذلك عندما أقولها مرة أخرى ، سوف تقرأ الخط بعد ذلك. لذلك سينتهي هذا الأمر بطباعة الأول
3:19:03سطرين في الملف. لذلك عندما أقوم بتشغيل هذا البرنامج ، سترى أننا نطبع جيم
3:19:08بائع وبائع دوايت. لذلك إذا كنت سأفعل هذا عدة مرات ، كما أستطيع تقنيًا طباعة كل سطر داخل هذا الملف. ويمكنك أن ترى ما يمكننا القيام به
3:19:19الذي - التي. ويمكن أن يكون ذلك مفيدًا جدًا لقراءة أسطر متعددة في ملف. لكن هناك بالفعل وظيفة أخرى أفضل في القيام بذلك. ويمكننا القول
3:19:27بدلاً من سطر قراءة نقطة ملف الموظف ، يمكننا أن نقول سطور قراءة نقطية. وما هذا ستأخذ جميع الأسطر الموجودة داخل ملفنا وتضعها داخل المصفوفة. والآن عندما أطبع هذا ، سترون أن لدينا هذا
3:19:40مجموعة أسفل هنا. يقول جيم بائع ، هذا هو العنصر الأول في المصفوفة ، دوايت البائع ، العنصر الثاني في المصفوفة ، إنه يأخذ كل سطر ويضعه
3:19:50داخل مصفوفة. لذلك إذا أردت الوصول إلى سطر معين ، يمكنني ذلك فقط الرجوع إليها بفهرسها في المصفوفة. إذا قلت واحدة ، فهذا سيعطي الآن لنا خط بائع دوايت ، لأن ذلك في موضع المؤشر الأول داخل
3:20:04مجموعة مصفوفة. يمكنك أيضًا استخدام وظيفة قراءة الخطوط هذه مع حلقة for. لذلك يمكنني أن أصعد
3:20:10هنا وإنشاء حلقة for. سأقول فقط ، وسنقول الموظف في ملف الموظف. ثم لكل موظف ، نريد فقط طباعتها. هكذا و في الواقع ، علينا وضع سطور قراءة نقطية لملف الموظف هنا. والآن هذا
3:20:28سيتكرر عبر جميع الموظفين في ملف الموظف هذا الذين يقرؤون صفيف الأسطر.
3:20:32لذلك يمكننا في الواقع طباعة كل موظف على حدة. والآن هذا سوف يطبع من جميع الموظفين داخل هذا الملف. لذلك فهي تطبع كل منها بشكل أساسي سطر في الملف. ويمكن أن يكون هذا مفيدًا جدًا. لذا يمكنك استخدام كل هؤلاء
3:20:47وظائف مختلفة مثل القراءة ، وقراءة السطر ، وقراءة السطور ، والقراءة ، كما تعلم ، هناك ملف مجموعة من هذه الأشياء المختلفة التي يمكننا القيام بها للحصول على معلومات من ملف. و
3:20:56لذلك هناك الكثير من الحالات التي تريد أن تكون قادرًا على تحليلها
3:20:59المعلومات في ملف. وهذه طريقة رائعة للقيام بذلك. لذا فقط للتلخيص ، عندما تريد فتح ملف والقراءة منه ، يمكنك فقط استخدام هذا الفتح الوظيفة ، اكتب اسم الملف ثم الوضع ، وهو ما يحدث في حالتنا
3:21:11لتكون لدينا ، يمكنك حينئذٍ القيام بكل أنواع الأشياء بها. وتريد دائمًا أن تصنع
3:21:15تأكد من إغلاقها عند الانتهاء. هذا مجرد ممارسة جيدة. إذن هذا هو أساسيات القراءة من الملفات. وآمل أن تتمكنوا يا رفاق من استخدام هذا بطريقة أو بأخرى
3:21:24أو شكل في المستقبل. في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم عن الكتابة و إلحاق الملفات في بايثون. لذا فإن أحد الأشياء الرائعة في Python هو أنها تتيح لك
Writing to Files
3:21:38للعمل مع الملفات الخارجية. لذلك يمكنني الحصول على ملف نصي خارجي ويمكنني ذلك في الواقع ، أحب قراءة جميع المعلومات الواردة فيه تمامًا. يمكنني تحليل من خلال
3:21:47عليه ، استخدم هذه المعلومات للقيام بأشياء معينة. لكن بالإضافة إلى قراءة ملف ، يمكنني ذلك
3:21:52أيضا كتابة ملف. وهذا ما أريد أن أتحدث عنه اليوم يا رفاق هو الكتابة ملفات جديدة وإلحاقها بالملفات الموجودة. هنا ، لدي فقط بعض
3:22:01مكتوبة وهذا في الأساس يقرأ فقط المعلومات من ملف الموظفين هذا. يمكنك أن ترى هنا ، أنا أحدد الوضع ، وهو R وهذا يعني يقرأ. وبعد ذلك هنا ، أقرأ فقط كل محتويات الملف و
3:22:15بصقها على الشاشة. لذلك سأضغط على زر التشغيل هنا و سترى أن هذا ينفذ. لذلك فهي تطبع كل أسطر التعليمات البرمجية في ملفنا النصي. لذا هنا ، أنا موجود في ملف staff.text هذا وهو يحتوي على كل شيء
3:22:30هذه المعلومات ، مثل الموظفين في المكتب. لكن دعنا نقول أنني أردت ذلك أضف موظفًا آخر هنا ، أليس كذلك؟ لنفترض أن موظفًا جديدًا انضم إلينا
3:22:39شركة. لذلك أردنا إضافتهم إلى هذه القائمة. حسنًا ، يمكنني المجيء إلى هنا من أجل
3:22:43ملف app.python الخاص بي. وبدلاً من القراءة من الملف ، أريد أن ألحق بامتداد ملف. لذلك أريد أن أقول إن الإلحاق بالملف يعني أنك أنت إضافة بعض النص في نهاية الملف. لذلك أينما ينتهي الملف ، فأنت فقط
3:22:59سنضيف بعض النص هناك. إذن ما يمكننا فعله هو أن نضيف بالفعل
3:23:03موظف آخر في الملف. لذا بدلاً من طباعة شيء ما ، أنا في الواقع سأقول أن ملف الموظف صحيح. وعندما أقول ملف الموظف نقطة صحيحة ، سأكون قادرًا على كتابة شيء ما في نهاية الملف. لذا أنا
3:23:20يمكن أن أكتب ببساطة ما أريد. فلماذا لا نضيف موظفًا آخر في ملف نصي نقطة لموظفينا. حتى نتمكن من إضافة موظف آخر. لماذا لا نفعل
3:23:29أقول مثل توبي ، وسيكون في الموارد البشرية. حتى الآن ، عندما أقوم بتشغيل هذا البرنامج ، سيتم إضافة موارد بشرية توبي إلى نهاية الملف. لذلك أنا
3:23:43ذاهب لتشغيل البرنامج الخاص بي. وسترى أنه لا يوجد شيء يظهر هنا في وحدة التحكم. ولكن إذا انتقلت إلى ملف نصي نقطي لموظفيي ، فسنحصل فجأة على ملف
3:23:53إدخال جديد هنا ، إنه توبي من الموارد البشرية ، أليس كذلك؟ لذلك كنت قادرًا على ذلك إلحاق سطر في نهاية هذا الملف. ولكن هذا هو الشيء الذي يجب أن تكون عليه
3:24:03حذرًا عند الكتابة إلى الملفات ، لأنه يمكنك فعلاً إفساد أحد الملفات سهل جدا. على سبيل المثال ، قمت بالفعل بإضافة توبي هنا إلى ملفي. لكن إذا كنت سأفعل
3:24:12قم بتشغيل هذا البرنامج مرة أخرى ، سترى ذلك هنا في نص الموظفين هذا ملف ، مضى قدما وأضاف توبي مرة أخرى ، أليس كذلك؟ لذلك أضاف هذا الموظف هنا
3:24:22مرة أخرى. وأيضًا ، ستلاحظ أنه في هذه الحالة ، لم يذهب هذا الموظف إلى العمل السطر التالي. قمت بتشغيل ملفي مرة أخرى عن طريق الخطأ ، وفجأة أفسدت
3:24:32هذا الملف هنا. وبالتالي ، فأنت بحاجة إلى توخي الحذر حقًا لأنه إذا كنت تفعل ذلك في الواقع شغّل ملفك مرة أخرى ، أو إذا كنت تعلم ، فقم بإلحاق شيء ما بشيء ما
3:24:41خطأ في الملف ، فهو دائم ، كما لو أنه يتم حفظه داخل الملف. لذا أريد أن أتحدث إليكم أكثر قليلاً عن الإلحاق ، كما تعلمون. آخر شيء يمكننا القيام به ، فلنفترض أننا أردنا إضافة موظف آخر. وستلاحظ
3:24:54هنا في هذا الملف النصي للموظفين. عندما قمت بإلحاقه مرة أخرى ، حصل ملحق بنهاية السطر الموجود ، أليس كذلك؟ لذلك في المرة الأولى التي حصلت فيها على
3:25:04سطر هناك ، ولكن إذا لم يكن لديك سطر جديد في نهاية الملف ، وأنتم جميعًا وتريد إضافة سطر جديد ، فسيتعين عليك إضافة بعض الميزات الخاصة
3:25:11الشخصيات. لذلك دعونا نضيف موظفة أخرى ، وسوف نسميها كيلي ، ودعونا فقط يقول كيلي في خدمة العملاء. لذلك سيكون كيلي في خدمة العملاء. وإذا أردت إضافة هذا الموظف في نهاية الملف في سطر جديد ، فأنا
3:25:30سيضطر إلى وضع حرف سطر جديد أمامه. لذا يمكنني أن أقول شرطة مائلة عكسية n ، وهذا سيُلحق هذا الإدخال في الملف بسطر جديد. لذلك على سطر جديد.
3:25:40الآن عندما أقوم بتشغيل هذا ، سترى أننا نحصل على Kelly من خدمة العملاء بمفردها خط. لذا فأنت تريد التأكد من أنك على دراية بمثل هذه الأشياء الخاصة
3:25:49الشخصيات التي يمكنك استخدامها ، يسمونها أحرف الهروب. وانت تعرف، في أي وقت تضيف فيه إلى ملف ، فأنت تريد التأكد من قيامك بالإضافة
3:25:56بالضبط حيث تريد إضافته. لذا بالإضافة إلى إلحاق ملف ، يمكنني ذلك أيضًا تمامًا مثل الكتابة فوق ملف أو يمكنني كتابة ملف جديد تمامًا. لذلك منذ نحن
3:26:07هذا مفتوح بالفعل ، بدلاً من إلحاقه بالملف ، فلماذا لا نفعل ذلك فقط اكتب ملف؟ لذا سأستخدم حرف W. والآن إذا قلت أن ملف الموظف نقطة صحيحة ، لأنني أستخدم W ولا أستخدم a ، فسيؤدي ذلك في الواقع إلى تجاوز
3:26:23الملف بأكمله. وسيقوم فقط بوضع هذا داخل الملف. لذلك عندما أقوم بتشغيل هذا ،
3:26:28وننتقل إلى ملف نصي للموظفين هذا ، وسترى أن لدينا سطرًا واحدًا فقط داخل هذا الملف. الآن هي مجرد خدمة عملاء كيلي. هذا لأنني كنت استخدام W ليس a عند استخدام W ، إنه مجرد تجاوز لكل ما هو موجود في ذلك
3:26:42ملف موجود. يمكنك أيضًا استخدام W لإنشاء ملف جديد. حتى هنا ، أستطيع أن أقول ملف الموظف يساوي نص نقطة واحدة للموظفين. والآن ما الذي سيحدث
3:26:54عندما أقوم بتشغيل هذا ، فسيتم إنشاء ملف آخر لي. لذلك أنا ذاهب للركض
3:26:58هذا. وسترى هنا في متصفح الملفات الخاص بي ، لدينا هذا الملف الجديد الموظفين بنقطة واحدة. لذلك إذا فتحت هذا ، فسيكون لديه نفس الأشياء تمامًا كما في
3:27:08ملف الموظفين هذا. لكنها في الأساس خلقت ملفًا جديدًا لنا. وهكذا الكثير من
3:27:13عدد المرات التي تريد فيها إنشاء ملف جديد. ويمكنك استخدام مختلف ملحقات أيضا. لذلك إذا أردت إنشاء مثل صفحة الويب ، يمكنني أن أقول نقطة فهرسة
3:27:23لغة البرمجة. ويمكنني أيضًا إضافة بعض أكواد HTML هنا. لذلك إذا كنت لا تفهم HTML ، لا تقلق بشأن ذلك. ولكن إذا قمت بذلك ، يمكنني وضع فقرة هنا ، فقرة أخرى ، مثل هذه HTML ، تشبه HTML أساسًا صفحة الويب. و
3:27:40النقطة التي أحاول توضيحها هي أنه يمكنك كتابة صفحة ويب داخل Python
3:27:44من خلال القيام بشيء من هذا القبيل. الآن عندما أقوم بتشغيل هذا ، نحصل على فهرس نقطة HTML ملف. ويحتوي على بعض HTML بداخله. هذه طريقة واحدة للكتابة على الملفات
3:27:55يمكن أن يكون مفيدًا حقًا. يمكنك الكتابة فوق ملف موجود ، يمكنك كتابة ملف ملف وإنشائه ، أو يمكنك إلحاقه بنهاية الملف. وهناك الكثير من تطبيقات للكتابة إلى الملفات و Python لغة رائعة للعمل بها
3:28:09القراءة والكتابة والقيام بكل هذه الأشياء مع الملفات. في هذا البرنامج التعليمي ، أريد أن التحدث إليكم يا رفاق حول استخدام الوحدات في بايثون. الآن ، الوحدة النمطية هي في الأساس عادلة
Modules & Pip
3:28:22ملف Python يمكننا استيراده إلى ملف Python الحالي. على سبيل المثال ، إذا كنت كتب ملف Python يحتوي على مجموعة من الوظائف المفيدة أو المتغيرات المفيدة
3:28:33أو ، كما تعلمون ، أشياء أخرى من هذا القبيل ، يمكنني أخذ هذا الملف ، ويمكنني استيراده
3:28:38في الملف الذي أعمل عليه حاليًا ، ويمكنني بالفعل الوصول إلى كل هؤلاء وظائف ، كل هذه المتغيرات ، كل الأشياء من هذا الملف الخارجي داخل الملف الذي أعمل عليه حاليًا. لذا سأريكم يا رفاق كيف يمكننا استخدامها
3:28:51الوحدات النمطية ، ثم سنتحدث عن مثل ، كما تعلمون ، أين يمكنك أن تجد رهيبة
3:28:55الوحدات ولماذا تجعل الوحدات من Python لغة رائعة. حتى هنا في بلدي محرر نصوص ، لقد قمت بالفعل بإنشاء هذا الملف ويسمى أدوات مفيدة dot Python.
3:29:07وبشكل أساسي ، يحتوي هذا الملف على مجموعة من الأدوات المفيدة التي قد أشبه بها تريد استخدامها في أحد برامجي. لذلك سترون هنا ، لدي البعض
3:29:16المتغيرات. هذا يخبرني عن عدد الأقدام في الميل. هذا يخبرني كم متر في الكيلومتر. ثم لدينا هذه القائمة هنا ، والتي تسرد من جميع أعضاء فريق البيتلز. لدي أيضًا وظيفتان مختلفتان
3:29:29هنا بالأسفل. لذلك لدي وظيفة الحصول على امتداد الملف. وهذا في الأساس سوف ، كما تعلم ، تقوم بإعطائه اسم ملف ، وسوف يخبرك ما هو الامتداد. وبعده نحن
3:29:37لدينا هذه الوظيفة الأخرى هنا ، والتي تحاكي رمي النرد. حتى تمر إنه رقم. إذا مررت به مثل ستة ، فسيتم رمي نرد من ستة جوانب. إذا نجحت
3:29:45إنه تسعة ، يرمي نردًا من تسعة جوانب ، إلخ. لذلك هذا مثل ملف Python الذي أنا
3:29:49كتب. ويحتوي على بعض الأشياء المفيدة فيه. وبصراحة ، هناك الكثير من الأشياء هنا قد أرغب في استخدامها في ملفات Python الأخرى التي أعمل معها. لذا
3:29:58لنفترض أنني هنا في ملف بايثون نقطة التطبيق هذا. وأنا أفكر في نفسي ، هاه ، أعتقد أنه يمكنني استخدام إحدى تلك الوظائف التي كانت مفيدة في الداخل
3:30:08ملف الأدوات. في الواقع ، أجل ، أحتاج إلى محاكاة رمي النرد في برنامجي.
3:30:13حسنًا ، بدلاً من الاضطرار إلى الانتقال إلى هنا ، انسخ هذه الوظيفة ثم الصقها هنا في برنامجي ، يمكنني بالفعل استيراد ملف الأدوات المفيد هذا. و سأكون قادرًا على استيراد كل هذه الوظائف وكل هذه المتغيرات
3:30:28والسمات. لذا فإن الطريقة التي يمكنني بها القيام بذلك هي فقط من خلال القدوم إلى هنا. وأنا فقط ستذهب مباشرة في الجزء العلوي من الملف الخاص بي. وسأقول فقط استيراد. و
3:30:36ثم أريد كتابة اسم الملف الذي أريد استيراده. لذلك أنا فقط سيقول أدوات شرطة سفلية مفيدة. وستكون بايثون ذكية بما يكفي للقيام بذلك تعلم أنه يجب أن تنفجر وتنتزع كل الأشياء من نقطة الأدوات المفيدة هذه
3:30:50ملف pi. لذا بمجرد أن أستخدم بيان الاستيراد هذا ، يمكنني بالفعل استخدام كل الوظائف الموجودة داخل ملف الأدوات المفيدة هذا. لذلك على سبيل المثال ، يمكنني المحاكاة
3:31:00رمي النرد ، يمكنني أن أقول نقطة أدوات مفيدة. والآن أنا قادر بالفعل على الوصول إليه كل السمات من داخل هذا الملف. لذلك عندما أقول نقطة أدوات مفيدة ، سترى هنا في قائمة اقتراحاتي الصغيرة ، إنها تخبرني مثل
3:31:16أقدام وأميال فريق البيتلز ، احصل على عدادات امتداد الملف والكيلومترات لفة النرد. إذن كذلك مما يتيح الوصول إلى جميع العناصر الموجودة في هذا الملف. حتى هنا ، أستطيع
3:31:26فقط قل مثل رمي النرد ويمكننا أن نجتاز هذا مثل 10 سوف يتدحرج على 10 جوانب حجر النرد. والآن يجب أن يكون هذا قادرًا بالفعل على تشغيل هذه الدالة. لذلك سنقوم بالمحاكاة
3:31:36رمي نرد من 10 جوانب. يمكنك أن ترى أننا حصلنا على أربعة. وهذا حقا جوهر المفهوم في Python ، والذي يستورد الوظائف من ملفات Python الخارجية. وهذا شيء ضخم في بايثون. وهذا سيغير الطريقة بشكل جدي
3:31:53تقوم بإنشاء ملفات Python الخاصة بك. لذلك ستلاحظ أنني لم أضطر إلى نسخ أي منها وظائف أو أي متغيرات أو أي شيء في هذا الملف. ومع ذلك كنت قادرًا على ذلك
3:32:05استخدام كل الأشياء التي كانت داخل ملف الأدوات المفيد هذا. لذلك هذا ضخم. و بصراحة ، سيوفر عليك الكثير من الوقت لأنه يمكنك كتابة شيء ما
3:32:14مرة واحدة وبعد ذلك يمكنك استيراده إلى ملفاتك الأخرى. إذن هذا هو حقًا أساسيات استخدام الوحدات. أعني ، الوحدات النمطية بسيطة للغاية. الوحدة هي مجرد أي وحدة
3:32:22ملف Python الخارجي الذي تريد استخدام بعض الأشياء بداخله. أريد أن اعرض لكم يا رفاق مكانًا يمكنك الذهاب إليه للعثور على قائمة ضخمة من الوحدات. لذلك أنا
3:32:33سأنتقل إلى متصفح الويب الخاص بي. وأنا على هذا الموقع. انها في الواقع مثل مستندات Python الرسمية. وكل ما فعلته للوصول إلى هنا هو الكتابة فقط قائمة وحدات Python وجوجل. واعتمادًا على إصدار Python أنت
3:32:47باستخدام ، سترغب في التأكد من النقر فوق الخيار الصحيح. أنا النقر في الإصدار 31. وهنا في هذه الصفحة ، يمكنك أن ترى أن هناك مجرد جزء ضخم
3:32:54قائمة وحدات بايثون. وهذه في الأساس وحدات داخل بايثون يمكنك الوصول إليها فقط. لذلك في الأساس ، هناك مثل كل هذه التعليمات البرمجية الرائعة هذا مكتوب بالفعل من أجلك. وبالتالي هناك نوع من الوظائف
3:33:08التي تريدها داخل برنامج بايثون الخاص بك. هناك احتمالات وحدة هنا لديها تلك الوظيفة. لذلك هناك كل أنواع الأشياء التي يمكنك القيام بها. أعني ، إذا نظرت في هذه القائمة فقط ، سترى مجموعة ضخمة من
3:33:21في الأساس فقط ، كما تعلم ، مجموعة من متغيرات بايثون أو بايثون الوظائف ، فقط ، كما تعلم ، الأشياء التي يمكنك استخدامها لتحسين برامجك. إذن ، هذا ما أود أن أوصي به ، مثل التوجه إلى هذه الصفحة ونوعًا ما
3:33:34انظر في الكثير من هذه الوحدات المختلفة ، كما تعلم ، شاهد ما يمكنك رؤيته. وبصراحة ، إذا نقرت على أحدها ، فسوف ينقلك إلى صفحة يتحدث عن كيفية استخدامه. سيخبرك مثل كيفية استيراده وفقط ،
3:33:45كما تعلم ، بعض الأساسيات حول هذا الموضوع. وهذا يشبه إلى حد ما القائمة الموجودة في مستندات Python الرسمية. ولكن هذا هو الشيء الآخر. مجتمع بايثون ضخم.
3:33:56هناك الكثير من المطورين الذين يستخدمون Python. ويمكنك في الواقع إيجاد الكثير من الثلث وحدات الحزب. لذا ، إذا دخلت عبر الإنترنت ، كما تعلم ، فابحث عن Python
3:34:05الوحدة النمطية للقيام بوحدة X أو Python للقيام بـ Y ، فمن المحتمل وجود شخص ما هناك كتب بالفعل وحدة Python لفعل ما تحاول القيام به. لذلك إذا حصلت على
3:34:15جيد في استخدام الوحدات وستتقن ، كما تعلم ، البحث عنها والعثور عليها لهم ، يمكنك في الواقع توفير مجموعة من الوقت لأن هناك احتمالية لذلك كتب شخص ما بالفعل وحدة لتقوم به ، كما تعلم ، ما تحاول القيام به أو
3:34:26كجزء مما تحاول القيام به. والآن بعد أن ألقينا نظرة على كل هذه الأشياء وحدات Python المختلفة ، أريد أن أتعمق قليلاً فيها قليلاً كيف يمكننا بالفعل استخدام هذه الأشياء. لذلك ستلاحظ هنا ، أن هناك الكثير من
3:34:39الملفات ، أليس كذلك؟ هناك الكثير من الوحدات النمطية المختلفة التي يمكننا الوصول إليها على ما يبدو بايثون. لكن السؤال هو ، أين يتم تخزين كل هذه الملفات ، أليس كذلك؟ عندما كنت
3:34:49هنا في برنامجي ، على سبيل المثال ، كنت أستخدم ملف tools.py المفيد. مثل ، كنت أعرف أين كان ذلك. لقد أنشأت هذا الملف. لقد شاركت بشكل مباشر في
3:34:59أصنعه. ولقد استوردت للتو هنا. كان من السهل جدا ، أليس كذلك؟ لكن ماذا عن كل هذه الملفات ، أليس كذلك؟ ماذا عن كل هذه الوحدات هنا؟ مثل أين كل هذه المخزنة؟ وهناك نوعان أساسيان من الوحدات هنا. هناك مدمج
3:35:13الوحدات النمطية ، مما يعني أنها مدمجة في لغة بايثون. لذلك نحن نوعًا ما فقط تلقائيًا حق الوصول إليها. وهناك وحدات خارجية. والكثير من هذه الوحدات الخارجية مخزنة في الأساس في نفس المجلد الذي نستخدمه
3:35:28تثبيت Python على جهاز الكمبيوتر الخاص بنا. لذلك على سبيل المثال ، لنلق نظرة على اثنين من هؤلاء ،
3:35:32يمين؟ لدينا ، مثل ، القاعدة 64 ، BDB ، بن ASCII ، مثل ، إذا جئت إلى هنا و سترى ، أنا هنا في مستكشف الملفات الصغير الخاص بي. لدي مشروع Python الخاص بي ،
3:35:45وهو مشروع. يوجد أيضًا مجلد آخر هنا يسمى خارجي المكتبات. إذا كنت سأضغط على هذا ونزلت هنا ، يمكنك أن ترى ذلك فقط نسخة بايثون التي أستخدمها. يوجد مجلد هنا يسمى lib.
3:35:59وهذا مجلد مهم للغاية. هذا هو في الأساس تخزين كل هؤلاء الوحدات الخارجية. لذا يمكنك أن ترى إذا قمت بالتمرير لأسفل هنا ، فلدينا كل هذه الأشياء
3:36:08مختلفة ، مثل ، وحدات ، أليس كذلك؟ إذن ها هي القاعدة 64. ها هي BDB ، أليس كذلك؟ كثيراً من هذه الوحدات الخارجية مخزنة داخل مجلد lib هذا. ومثلي
3:36:19قال ، هناك وحدات خارجية. هناك أيضًا بعض الوحدات النمطية التي تم إنشاؤها تمامًا في الوحدات. لن يتم تخزينها بالداخل هنا. ويمكنك في الواقع
3:36:27يخبر. على سبيل المثال ، إذا كنت سأحضر إلى هنا وأنقر على القاعدة 64 ، فهذا يخبرنا لي حيث شفرة المصدر. لذا فإن أكواد المصدر في lib forward slash base 64.
3:36:38كنا قادرين على رؤية ذلك ، أليس كذلك؟ كنت ، رأيت ذلك داخل مجلد lib الخاص بي.
3:36:42هذا bin ASCII ، على سبيل المثال ، إذا قمت بالنقر فوق هذا ، ستلاحظ أن هذا لا يعطيني مجلدًا لأن هذا في الأساس يشبه تمامًا لغة Python.
3:36:51لذلك لا داعي للقلق ، كما تعلم ، بشأن تحديد مكان هذا الملف. إنه مجرد نوع من مثل ، إنها مجرد نوع من الأعمال. لذا فإن بعضها خارجي. البعض منهم مدمج. وأريد أن أريكم ، بالإضافة إلى استخدام هذه الوحدات ،
3:37:04يمين؟ لذلك هناك الكثير من الأشياء الجيدة هنا. وبصراحة ، يمكنك أن تنفق أنت تعرف ، سنوات وسنوات تتعلم فقط عن كل هذه الوحدات المختلفة. لكن كثيرا
3:37:11عدد المرات التي تريد فيها استخدام الوحدات التي كتبها أشخاص آخرون. كما تعلم ، هناك الكثير من المطورين الذين يعملون على Python والذين يكتبون بشكل مختلف
3:37:21الوحدات. لذلك هناك الكثير من الوحدات المفيدة التي لم يتم تضمينها في هذا
3:37:25قائمة ، أليس كذلك؟ لن يكونوا داخل مجلد lib هذا افتراضيًا. وما يمكننا فعله في الواقع هو أنه يمكننا تثبيت تلك الوحدات الخارجية ، تلك وحدات الطرف الثالث ، التي لا تأتي مثبتة مسبقًا مع Python. و انا
3:37:40سأريكم يا رفاق كيفية القيام بذلك بسرعة كبيرة. لذا فإن أول شيء تحتاجه
3:37:43من الواضح أن القيام بذلك هو العثور على وحدة Python التي تريد تثبيتها التي تريدها للتنزيل. ولقد استخدمت بالفعل أحد مستندات Python السابقة. انه
3:37:54وحدة خارجية يمكنك استخدامها بشكل أساسي لاستخدام Python لإنشاء Word من المستندات ، وهو أمر رائع جدًا. حتى تتمكن من تنسيق مستندات Word بالداخل
3:38:02منه. لذلك سأبحث عن ذلك هنا في Google. سأقوم بالكتابة فقط في مستندات Python. وانظر ، هذا هو الشيء ، هناك الكثير من هذه الوحدات الخارجية.
3:38:11ليس عليك استخدام مستندات Python. أنا فقط أعطيكم يا رفاق مثالاً. لكن حقا، إذا كنت تبحث فقط عن وحدات Python المفيدة لجهات خارجية ، فستكون هناك قوائم
3:38:20من هذه الأشياء عبر الإنترنت. في حالتي ، على الرغم من ذلك ، لدى مستندات Python موقع ويب ، وهو
3:38:25في الأساس مثل بعض تعليمات التثبيت. انا ذاهب الى هنا. ويخبرني أنه يمكنني تثبيت مستندات Python باستخدام الأمر pip لتثبيت Python المستندات. هذا يقودنا إلى شيء أريد أن أتحدث عنه يا رفاق ، وهو
3:38:39نقطة. والنقطة هي في الأساس برنامج. وفي الواقع ، إذا كان لديك إصدار أحدث من Python الثلاثة ، تأتي مثبتة مسبقًا مع Python three. ويمكنك استخدام النقطة
3:38:50لتثبيت وحدات بايثون. يشار إليه باسم مدير الحزم. وحزمة مدير يسمح لك بشكل أساسي فقط بالتثبيت والإدارة والتحديث وإلغاء التثبيت مثل وحدات Python المختلفة. لذا فإن النقطة مفيدة للغاية. ولكي نتمكن من ذلك
3:39:08تثبيت مستندات Python ، سيتعين علينا استخدام النقطة. لذا سأريكم يا رفاق كيف يمكننا فعل ذلك. ما أريد القيام به هو فتح موجه الأوامر أو ملف
3:39:17المحطة الطرفية على جهاز الكمبيوتر الخاص بي. إذا كنت تستخدم جهاز Mac ، فأنت تريد فتح جهازك الطرفي. إذا كنت تستخدم جهاز كمبيوتر يعمل بنظام Windows ، فأنت تريد فتح موجهات الأوامر. أنا
3:39:24باستخدام Windows الآن. لذا سأذهب إلى شريط البحث و اكتب في CMD. ويجب أن يظهر موجه الأوامر هذا. لذا سأقوم بالنقر فوق هذا داخل موجه الأوامر ، يمكننا بالفعل استخدام النقطة. أول شيء نريد القيام به
3:39:36هو مجرد التحقق للتأكد من تثبيت النقطة. وكما قلت ، إذا كان لديك نسخة من Python three ، يجب أن تأتي النقطة مثبتة مسبقًا. ويجب أن تعمل فقط هنا. إذا لم يكن لديك إصدار جديد من Python 3 ، فقد تضطر إلى ذلك
3:39:49تثبيت النقطة بشكل منفصل. وهناك الكثير من التعليمات عبر الإنترنت حول كيفية التثبيت نقطة. لذلك سأقوم فقط بالتحقق للتأكد من أنه لدي ، سأقوم بالكتابة
3:39:57إصدار واصلة النقطة. وهذا يجب أن يبصق نسخة البيب التي أنا لديها حاليا. طالما لدينا نقطة ، فنحن على استعداد لتركيب خارجي أو وحدة Python لجهة خارجية. كل ما علي فعله هو مجرد قول اختيار التثبيت. والآن أنا
3:40:13فقط تريد كتابة اسم وحدة Python. لذلك في حالة بايثون المستندات ، لقد كانت مجرد مستندات Python من هذا القبيل. الآن مرة أخرى ، ليس عليك تثبيت Python
3:40:23المستندات. أنا أفعل هذا فقط لهذا البرنامج التعليمي. فقط نوعا ما أظهروا لكم يا رفاق كيف هذا الذهاب إلى العمل. لكنك تعلم ، ما تريد القيام به هو الاتصال بالإنترنت والبحث عن الثلث
3:40:32وحدات بايثون الخارجية للحزب. وعمومًا ، مثل 90 إلى 95٪ من الوقت ، ستتمكن من تثبيتها فقط باستخدام النقطة. في حالة الخروج أنه لا يمكنك تثبيتها باستخدام النقطة ، هناك احتمالات مثل بعض التفاصيل
3:40:45تعليمات التحميل. لكن أود أن أقول في معظم الأحيان ، أي شيء مثل شرعي ستكون وحدة Python قادرة على التثبيت باستخدام النقطة. لذا هنا ، أنا فقط سيقول تثبيت النقطة ثم اسم الوحدة. إذن ، واصلة بايثون مستندات. و
3:41:00عندما أنقر فوق إدخال ، سينطلق هذا ويثبت مستندات Python لنا. لذلك أنا فقط سأدخل. وسوف تنطلق وتثبت كل ما نحتاجه مستندات بايثون. لذلك يمكنك أن ترى أننا نجحنا في تثبيت Python docs 0.8.6. لذلك أنا ذاهب
3:41:16لتظهر لكم يا رفاق أين تم وضع هذا بالضبط. بشكل طبيعي ، عندما نقوم بتثبيت ملف
3:41:21وحدة خارجية خارجية ، سيتم وضعها داخل مجلد lib هذا. لكن سيتم وضعه داخل مجلد خاص هنا يسمى حزم الموقع. لذا حزم الموقع عبارة عن مجلد خاص. وإذا فتحت هذا المجلد ، فسترى الآن لدينا
3:41:36مجلد المستندات هذا ولدينا أيضًا مجلد معلومات Python docs 0.8.6 pi 3.6.ag. لذلك يتم تضمين هذين المجلدين بشكل أساسي في تثبيت الوحدة النمطية. لذا يمكنك ذلك
3:41:50رؤية مجلد المستندات هذا يحتوي على مجموعة من ملفات Python المختلفة ويحتوي على مجموعة من ملفات هنا يمكننا استخدامها. لذلك إذا أردت استخدام هذا داخل واحد من بلدي
3:41:59البرامج ، سأشير فقط إلى اسم الوحدة. لذلك في حالتنا ، سيكون مجرد مستندات. لذلك استخدمت مستندات Python لتثبيتها. ولكن اين سنستخدم المستندات إذا أردنا استيرادها. لذلك يمكنني القدوم إلى هنا ويمكنني القول
3:42:13استيراد ملف DOCX. والآن يمكنني بالفعل استخدامه. لذا يمكنني القول مثل المستندات ، doc ، أيا كان. ويمكنك أن ترى أن هناك مجموعة من الأشياء المختلفة هنا. هناك
3:42:22مثل جزء صورة وثيقة وثيقة. هناك مجموعة من الأشياء التي يمكننا استخدامها مع هذا. ومن الواضح ، اعتمادًا على وحدة Python التي تقوم بتثبيتها ، هناك ما يحدث
3:42:30لتكون تعليمات مختلفة. لكن يمكنك أن ترى أنه تم تخزينه هنا في الأسفل مجلد حزم الموقع. إذا أردت إزالة هذا ، يمكنني استخدام PIP للقيام بذلك. لذا يمكنني ان
3:42:39فقط قل PIP إلغاء التثبيت. ويمكننا قول اسم الوحدة مرة أخرى. إذن مستندات Python. وسيقوم PIP الآن بإلغاء تثبيت هذا على جهاز الكمبيوتر الخاص بنا. فكيف نعود إلى
3:42:54هذا المجلد؟ سترى أن هذين ، مجلد المستندات هذا ثم مجلد آخر مجلد اختفى. لذلك لم يعودوا هنا. وأنا في الواقع لن أكون قادرًا
3:43:05لاستخدام هذا بعد الآن. هذا نوع من خصوصيات وعموميات استخدام الوحدات. الان مره اخرى، هناك الكثير من هذه الوحدات ويمكنني إنشاء العشرات والعشرات من دورات بايثون
3:43:15تغطي كل واحدة من هذه الوحدات. الوحدات المدمجة والوحدات النمطية الموجودة متضمنة بشكل افتراضي ووحدات خارجية ، هناك الكثير من هذه الأشياء هناك.
3:43:25وفي الحقيقة ، كمبرمج بايثون الآن ، ما يمكنك فعله هو الخروج واللعب حول هذه الوحدات المختلفة. لقد أظهرت لك خصوصيات وعموميات التثبيت عليها ويمكنك استخدام PIP لتثبيت كل هذه الوحدات المختلفة. ويمكنك أن تفعل
3:43:37تأكد من توفرها لديك عن طريق التحقق من مجلد حزم الموقع أو مجلد libs.
3:43:41ولكن الآن عليك فقط أن تخرج وتستخدم هذه الوحدات ولا تفعل ذلك ابتعد عن هذا لأن الوحدات جزء كبير من Python وأنت بالتأكيد سترغب في تضمينها في حزمة بايثون الخاصة بك.
Classes & Objects
3:43:58في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن الفئات والأشياء في بايثون. الآن الفئات والكائنات مفيدة للغاية في برمجة Python ويمكنهم ذلك تساعدك على جعل برامجك أكثر تنظيماً وفعالية.
3:44:13لذلك عندما نكون في بايثون ، نتعامل مع جميع أنواع البيانات ، أليس كذلك؟ وفي كثير من الأوقات عندما نكتب برامج ، يتعين علينا العمل معها
3:44:21أنواع مختلفة من البيانات. وهناك في الأساس بعض الأنواع الأساسية من البيانات يمكننا القيام به عادةً بأشياء مثل السلاسل ، مثل النص العادي والأرقام و
3:44:30القيم المنطقية. هذه الثلاثة تشبه نوعًا ما الأنواع الرئيسية من البيانات التي تستخدمها
3:44:34سأعمل معها في بايثون. ولدينا كل أنواع الهياكل التي نستطيع تستخدم لتخزين تلك البيانات ، كما تعلم ، أشياء مثل القوائم أو القواميس.
3:44:42ولكن هنا تكمن المشكلة في أنه ليس كل المعلومات ، وليس كل البيانات وليس كلها يمكن تمثيل الأشياء باستخدام سلاسل أو أرقام أو منطقية ، أليس كذلك؟
3:44:53هناك الكثير من الأشياء في العالم الحقيقي لا يمكننا تمثيلها في شيء مثل سلسلة أم مجرد رقم ، أليس كذلك؟ بعبارة أخرى ، شيء مثل التفكير في الإعجاب
3:45:01شيء مثل الهاتف أو الكمبيوتر أو شخص ، أليس كذلك؟ لا يمكنك حقا تمثل هذه الأشياء في شكل سلسلة أو رقم. كما تعلم ، بعبارة أخرى ، مثل أنواع البيانات المتوفرة لدينا في Python لا يمكنها تغطية ذلك.
3:45:15وبالتالي ما يمكننا فعله بالفئات والكائنات هو أنه يمكننا أساسًا إنشاء ما لدينا أنواع البيانات الخاصة. لذلك يمكنني إنشاء نوع البيانات الخاص بي لأي شيء أريده في Python.
3:45:25لذلك يمكنني إنشاء مثل نوع بيانات الهاتف ويمكن أن يمثل الهاتف. لذلك يمكنني تخزين جميع المعلومات التي أرغب في معرفتها حول هاتفي داخل هذا النوع من البيانات. وفي بايثون ، يمكننا إنشاء فصل دراسي لها.
3:45:38وبشكل أساسي ما يعنيه الفصل هو القول ، مرحبًا ، هذا نوع آخر من البيانات
3:45:42التي نريد استخدامها في بايثون. لذلك مع الفصل الدراسي ، يمكنك تحديد ملف نوع البيانات الخاصة. وهو رائع للغاية. والفصول مفيدة للغاية. تُستخدم الفصول في كل لغة برمجة رئيسية تقريبًا.
3:45:56لذا في هذا البرنامج التعليمي ، أريد فقط أن أقدم لكم يا رفاق مقدمة أساسية للفصول
3:46:00واستخدامها داخل بايثون. لنفترض أنني أكتب برنامجًا وأريد أن أمثل طالبًا داخل هذا البرنامج. لذلك ربما أكتب برنامجًا مثل كلية أو جامعة. لنفترض أنه في هذا البرنامج ، أريد أن أصمم نموذجًا لطالب.
3:46:17كما أريد أن أصمم كائنًا حقيقيًا وأريده أن أكون طالبًا.
3:46:21حسنًا ، ليس لدينا نوع بيانات طالب ولا يمكنني تمثيل طالب حقًا في سلسلة واحدة أو رقم. لذا ما يمكنني فعله في الواقع هو أنه يمكنني إنشاء فصل دراسي للطالب. وأنا في الأساس أقوم بإنشاء مثل نوع بيانات الطالب.
3:46:36لذا سأريكم يا رفاق كيف يمكننا القيام بذلك وإنشاء فصل طلابي.
3:46:40لذا هنا ، سأقوم بعمل ملف جديد. سنقوم فقط بتحويله إلى ملف Python جديد. لذلك سأطلق عليه اسم student.py. وداخل ملف student.py هذا ، أريد إنشاء فصل دراسي للطلاب.
3:46:54لذا فإن الطريقة التي يمكنني بها فعل ذلك هي فقط عن طريق كتابة الفصل. والآن أريد كتابة اسم الفصل الذي أرغب في إنشائه. لذلك في حالتنا ، سننشئ فصلًا يسمى الطالب.
3:47:04لذلك سأقول طالبًا فقط ، والآن سنقوم بعمل نقطتين. الآن كل ما يدخل هنا سيكون داخل فصل الطلاب لدينا. لذا فإن كل ما يتم وضع مسافة بادئة به مثل هذا سيتم اعتباره جزءًا من فصل الطلاب لدينا.
3:47:19وما يمكننا القيام به في الأساس داخل فصل الطلاب هذا هو أنه يمكننا تحديد مجموعة من السمات
3:47:23عن طالب. لذا فإن ما أفعله في الأساس هو أنني أحب نموذجًا لطالب. أنا أقوم بإنشاء نوع بيانات طلابنا. ويمكنني استخدام أشياء مثل الأوتار ،
3:47:33الأعداد الصحيحة والمنطقية من أجل تحديد ما يجب أن يكون عليه الطالب وما يجب أن يمتلكه الطالب. لذلك أريد إنشاء شيء يسمى دالة التهيئة.
3:47:43والطريقة التي أفعل بها ذلك هي فقط عن طريق كتابة def. وسأقوم فقط بكتابة شرطين سفليين. ثم كلمة INIT ثم شرطان أسفل السطر (_). وتريد أيضًا كتابة أقواس الفتح والإغلاق. وداخل هذين القوسين ، نريد كتابة الذات.
3:48:02وبعد ذلك نريد القولون بعد ذلك. ما يمكنني فعله داخل وظيفة التهيئة هذه هو أنه يمكنني تحديد السمات التي يجب أن يمتلكها الطالب. لذلك يمكننا أن نحدد بشكل أساسي ، هذا هو نوع بيانات الطالب في بايثون.
3:48:17لذا فإن ما أريد فعله هو إضافة سمات معينة بعد هذه الذات. لذلك سأقول لنفسي فاصلة. والآن يمكننا البدء في التفكير ، كما تعلمون ، ما هي القيم التي ستمثل الطالب داخل برنامج بايثون.
3:48:30لذلك إذا كنت أفكر مثل ، أفكر في شيء مثل الاسم ، أليس كذلك؟
3:48:34لذلك يجب أن يكون لكل طالب في برنامجنا اسم. قد يرغبون أيضًا في الحصول على تخصص لأنهم في الكلية. من المحتمل أيضًا أن يكون لديهم معدل تراكمي. لذا فهم متوسط درجة ، كما يفعلون في المدرسة.
3:48:48ودعنا نحدد شيئًا آخر. دعني أفكر. لماذا لا نصنع منطقية؟ وسوف يتم استدعاؤها تحت المراقبة. وهذا سيحدد بشكل أساسي ما إذا كان الطالب في وضع المراقبة أم لا.
3:49:02إذن ، ما أفعله داخل طريقة التهيئة هذه داخل دالة init هذه هو تحديد ماذا طالب في برنامجنا. وفي هذا البرنامج ، يكون للطالب اسم ، وتخصص ، ومعدل تراكمي ، ولها قيمة تحدد ما إذا كانت تحت الاختبار أم لا.
3:49:21هذا هو نوع بيانات الطالب. لذلك إذا كنت أمثل طالبًا داخل برنامجي الآن ، فسيكون لديه كل هذه السمات المرتبطة به.
3:49:31وهذا أساسًا ما أفعله هنا. الآن داخل دالة التهيئة هذه ، علينا فعل شيء ما. وما أريد فعله هو تحديد بعض القيم. لذا سأقوم بكتابة بعض الأشياء وقد لا يكون هذا منطقيًا تمامًا في الوقت الحالي.
3:49:47لكن هذا سيكون منطقيًا بعد ثانية من إنشاء كائن الطالب الأول. لذا فقط تمسك بي الآن وأعلم أنه علينا فعل ما أفعله هنا.
3:49:57لذلك سأقول فقط اسم النقطة الذاتية يساوي الاسم. وبعد ذلك سأقول إن النقطة الرئيسية الذاتية تساوي الكبرى.
3:50:05المعدل التراكمي للنقطة الذاتية يساوي المعدل التراكمي. وسأقول أن النقطة الذاتية تحت الاختبار تساوي تحت الاختبار.
3:50:16لذا مرة أخرى ، قد لا يكون هذا منطقيًا في الوقت الحالي ، ولكن بعد قليل ، سيكون هذا منطقيًا تمامًا.
3:50:23والآن بعد أن حددت فئة الطلاب هذه ، يمكنني بالفعل استخدام هذا الفصل داخل ملفي الآخر. لذا سأذهب إلى هنا في ملف بايثون نقطة التطبيق هذا. وهذا فقط ملفي الرئيسي.
3:50:36لذلك أريد في الواقع إنشاء طالب بشكل صحيح ، لذلك في فصل الطلاب هذا ، حددنا نوع بيانات الطالب. وقلنا بشكل أساسي مثل مهلا ، الطالب لديه اسم ، معدل تراكمي رئيسي ويقول ما إذا كانوا تحت المراقبة أم لا.
3:50:49هذا مثل نموذج ما هو الطالب. لكن يمكننا في الواقع إنشاء طالب. حتى نتمكن من إنشاء طالب حقيقي وإعطائه بعض المعلومات. وهذا يسمى كائن.
3:51:01لذا فإن هذا الفصل الدراسي هنا يحدد بشكل أساسي ماهية الطالب. لذا فإن الفصل يشبه نظرة عامة على نوع بيانات الطالب. الكائن هو طالب حقيقي. إذن فهو طالب فعلي يحمل اسمًا وتخصصًا ومعدلًا تراكميًا.
3:51:19لم يعد هذا القالب فقط. إنه في الواقع مثل الطالب الذي نمثله داخل برنامجنا. لذا من أجل استخدام فصل الطالب هذا وإنشاء كائن طالب ، فأنا في الواقع بحاجة إلى استيراد ذلك.
3:51:32لذا كل ما علي فعله هنا هو فقط أن أقول من الطالب ، وهذا يشير إلى ملف الطالب هذا. أستطيع أن أقول استيراد الطالب. وما يقوله هذا أساسًا هو من ملف الطالب ، أريد استيراد فصل الطالب.
3:51:51لذلك على الرغم من أن كلاهما طالب ، إلا أنهما يشيران إلى أشياء مختلفة.
3:51:54إذن هذا يشير إلى الملف وهذا يشير إلى فصل الطلاب الفعلي. والآن بعد أن فعلنا هذا ، يمكننا إنشاء طالب. لذلك يمكنك إنشاء كائن من فئة كثيرًا كما تفعل مع متغير عادي.
3:52:06لذا يمكنني فقط تسميته. سأسمي هذا الطالب واحدًا. وسأجعلها تساوي الطالب. وسأقوم بعمل أقواس فتح وإغلاق.
3:52:16والآن داخل هذه الأقواس ، أريد أن أعطي لهذا الطالب اسمًا ، وتخصصًا ، ومعدلًا تراكميًا ، وقيمة تحت الاختبار.
3:52:27لذلك سأقول ، سنقوم فقط بإنشاء طالب مزيف. لذا سأقول فقط اسمه جيم. وهو يدرس الأعمال. ونريد أن نمنحه معدل تراكمي. لذلك ربما لديه مثل 3.1.
3:52:41وأخيرًا ، نريد أن نقول ما إذا كان هذا الطالب تحت المراقبة أم لا. فلماذا لا نقول خطأ؟
3:52:46لذا فإن ما أفعله أساسًا هو أنني أقول أنني أريد إنشاء طالب. لذلك أريد بالفعل إنشاء كائن طالب. وتذكر أن الكائن هو مجرد مثيل لفئة.
3:52:58لذا فإن الفصل يشبه القالب العام. إنه يحدد ما هو الطالب. لكن الشيء هو طالب حقيقي بمعلومات فعلية. لذا يمكننا الاتصال بالطالب الأول الآن. هذا كائن طالب.
3:53:11لذلك أريد فقط أن أريكم يا رفاق ما هو كائن الطالب هذا وما يمكننا فعله به. وبعد ذلك سأتحدث أكثر عن ذلك في وظيفته من قبل.
3:53:20لذا هنا ، سأقوم فقط بتقديم بيان مطبوع. وداخل هنا ، أريد فقط طباعة الطالب. والشيء الرائع في كائن واحد لهذا الطالب هو أنه يمكنني الوصول إلى كل سمة من داخل هذا الكائن.
3:53:35لذلك إذا أردت الحصول على اسم الطالب ، يمكنني أن أقول اسم الطالب بنقطة واحدة.
3:53:39والآن هذا في الواقع سوف يطبع اسم الطالب. حتى هنا ، سترى أنه يطبع جيم. إذا أردت ، يمكنني طباعة المعدل التراكمي للطالب. وستقوم بطباعة المعدل التراكمي 3.1 للطالب.
3:53:54والآن بعد أن أنشأت كائن الطالب هذا ، يمكنني بالفعل الوصول إلى المعلومات المتعلقة بالطالب. لذلك بشكل أساسي ، لقد قمت للتو بإنشاء نوع بيانات الطالب.
3:54:04لذلك يمكنني إنشاء العدد الذي أريده من هؤلاء الطلاب. إذا أردت ، يمكنني إنشاء طالب آخر يمكننا تسميته الطالب الثاني.
3:54:11وبشكل أساسي ، نقوم بنفس الشيء. نعطيها فقط معلومات مختلفة. لذلك يمكننا القول مثل بام وتخصصها هو الفن. ولديها مثل 2.5. ودعنا نقول أنها تحت المراقبة.
3:54:26والآن لدي طالب آخر ، الطالب الثاني. لذلك إذا أردت ، يمكنني الوصول إلى معلومات حول هذا الطالب.
3:54:32يمكننا القول مثل الطالب ذو نقطتين GPA. والآن هذا يعطيني المعدل التراكمي للطالب الثاني. إذن ، ما فعلته هو أنني أنشأت نوع بيانات للطالب وأنشأت كائنات للطلاب. والآن أنا قادر على تمثيل طالب داخل برنامجي.
3:54:48لذلك دعونا نتحدث بسرعة حقيقية عن كل هذه الأشياء هنا لأنني لم أشرحها حقًا.
3:54:53في الأساس ، ما يحدث هو عندما أتيت إلى هنا وأقول طالبًا وأقوم بتمرير كل هذه القيم المختلفة ، تلك التي يتم تمريرها إلى هذه الوظيفة init. تذكر ، لقد نجحت في اسم ، نجحت في تخصص ، نجحت في معدل تراكمي.
3:55:09عندما أنشأنا ذلك الطالب ، فإننا في الواقع نسمي هذه الوظيفة. وعندما أقوم بتمرير الاسم ، والتخصص الرئيسي والمعدل التراكمي ، يتم تخزين هذه القيم بالفعل هنا بهذا الاسم ،
3:55:21هذا التخصص ، هذا المعدل التراكمي ، وما إلى ذلك. لذلك أعطي كائن الطالب كل تلك المعلومات. وهنا في الأسفل ، ما أفعله هو أنني أقول أن اسم النقطة الذاتية يساوي الاسم.
3:55:35وما يعنيه هذا أساسًا هو أن اسم الكائن الفعلي سيكون مساويًا للاسم الذي تم تمريره إليه. لذا فإن اسم النقطة الذاتية هو سمة للطالب.
3:55:46إذن الطالب يخزن اسمًا ، والطالب يخزن تخصصًا ، والطالب يخزن معدلًا تراكميًا. لكن هذا يختلف عن هذا الاسم ، وهذا التخصص ، وهذا المعدل التراكمي.
3:55:56تذكر ، هذه كلها مجرد قيم قمت بتمريرها ، إنها مجرد معلمات. ولذا فأنا بحاجة لأخذ القيم التي مررتها وأحتاج إلى تخصيصها للسمات الفعلية للكائن.
3:56:08لذلك يجب أن أقول ، حسنًا ، اسم الطالب سيكون مساويًا للاسم الذي مررنا به. مرة أخرى ، سيكون اسم كائن الطالب مساويًا للاسم الذي مررناه. سيكون اسم تخصص الطالب مساويًا للتخصص الذي نجحنا فيه.
3:56:26سيكون المعدل التراكمي للطالب مساويًا للمعدل التراكمي الذي مررنا به.
3:56:31هذا ما يحدث هنا أساسًا. لذلك عندما أقول ذاتيًا ، فهذا يشير إلى الشيء الفعلي. لذلك هنا ، عندما أقوم بإنشاء كائن الطالب هذا ، أعطيها كل هذه المعلومات. إنه يأخذ هذه المعلومات ويخزنها كسمات للكائن.
3:56:48لذلك آمل أن يكون هذا منطقيًا. أعتقد أن هذا واضح بقدر ما يمكنني أن أوضحه. لكن النقطة المهمة هي أنه لدينا الآن نوع بيانات الطالب. لذا يمكنني الآن تمثيل طالب داخل برنامج Python الخاص بي.
3:57:01وهذا مثل القوة الخارقة. والرائع في الفصول والأشياء هو أنه يمكنك فعل ذلك بأي شيء. في هذا المثال ، أنشأنا فصلًا للطلاب ثم أنشأنا كائنات للطلاب من ذلك. لكن يمكنني تصميم أي كيان حقيقي في هذا البرنامج.
3:57:16يمكنني تصميم شيء مثل الهاتف أو يمكنني صنع نموذج مثل زجاجة ماء أو يمكنني تصميم لوحة مفاتيح ، كما تعلمون ، أليس كذلك؟ يمكنني تصميم أي شيء أريده داخل برنامجي. يمكنني فقط أن أعطيها سمات معينة ، أليس كذلك؟
3:57:29ولذا فإن الشيء الرائع في الفئات هو أنه يمكننا نمذجة كائنات العالم الحقيقي ويمكننا إنشاء أنواع البيانات الخاصة بنا.
Building a Multiple Choice Quiz
3:57:40في هذا البرنامج التعليمي ، سأوضح لكم يا رفاق كيفية إنشاء اختبار متعدد الخيارات في بايثون.
3:57:45لذلك بشكل أساسي ، سنقوم بإعداد اختبار صغير للاختيار من متعدد وسنطلب من المستخدم إجراء الاختبار. وأثناء إجرائهم للاختبار ، سنقوم بتتبع درجاتهم ثم في النهاية سنخبرهم كيف حققوا ذلك.
3:57:55لذلك سيكون هذا فيديو رائعًا جدًا. أنا متحمس لأريكم يا رفاق كيفية القيام بذلك. وسنستخدم أشياء مثل الفئات وعبارات if والحلقات لبناء هذا البرنامج. لذلك سنستخدم الكثير من الأشياء الرائعة في بايثون.
3:58:08أول شيء أريد أن أعرضه لكم يا رفاق ، لقد فعلت هذا بالفعل قبل أن أبدأ الفيديو. إنها هذه المجموعة الصغيرة. يطلق عليه مطالبات السؤال.
3:58:15وقد كتبت للتو جميع الأسئلة التي ستطرح أو لا يجب أن أطرح الأسئلة. لقد كتبت جميع مطالبات الأسئلة التي ستكون داخل اختبار الاختيار من متعدد.
3:58:25إذن ، السؤال الأول يقول فقط ما هو لون التفاح والإجابات باللون الأحمر أو الأرجواني أو البرتقالي. التالي هو ما لون الموز الخيارات هي البط البري والأرجواني والأصفر.
3:58:38والسؤال الثالث هو ما لون الفراولة والخيارات هي الأصفر والأحمر والأزرق.
3:58:43من الواضح أن هذا اختبار متعدد الاختيارات سهل للغاية. لكنني كتبت الأسئلة مسبقًا ، لذا لم أضطر إلى قضاء الوقت في القيام بذلك. فلنتحدث عن كيفية بناء اختبار الاختيار من متعدد.
3:58:56حسنًا ، أول شيء أريد التفكير فيه هو كيف يمكنني تمثيل الأسئلة في الاختبار.
3:59:00هنا ، لدينا مطالبات الأسئلة ، ولكن في الواقع هناك جزأين للسؤال عندما تفكر فيه. هناك المطالبات. بعبارة أخرى ، السؤال الفعلي نفسه. ثم هناك إجابة للسؤال وكل من هاتين السمتين يجب أن يتم تتبعهما.
3:59:17أحتاج إلى تتبع ما نريد أن نطلبه وأحتاج إلى تتبع ما هو الجواب. إذن ما سأفعله في الواقع هو إنشاء فصل دراسي للأسئلة. لذلك سأقوم بإنشاء نوع بيانات صغير للأسئلة وداخل فئة الأسئلة هذه ،
3:59:30سنكون قادرين على تخزين مطالبات الأسئلة وسنكون قادرين أيضًا على تخزين إجابات الأسئلة.
3:59:36لذلك سأحضر هنا إلى مجلدي وسأقوم بإنشاء ملف Python جديد وسنطلق على هذا السؤال py. لذلك سنسميها question.py وداخل ملف question.py هذا ، سأقوم بعمل فصل دراسي.
3:59:51لذا سأقول سؤال الفصل وسأضع نقطتين هنا. لذا داخل فئة السؤال هذه ، نريد تعريفها في دالة التهيئة. لذا سأقول شرطان سفليان فيه ، شرطان سفليان ، ثم سنكتب قوسين مفتوحين ومغلقين ذاتيًا ثم نقطتين.
4:00:11لذلك بعد هذه الذات ، نريد تحديد السمات المختلفة التي ستصف أو سيتم تضمينها في السؤال. لذلك سنقوم بتضمين موجه وسنقوم بتضمين إجابة. لذلك سيكون لكل سؤال موجه سؤال وجواب سؤال.
4:00:28الآن هنا في الأسفل ، أريد أن آخذ هذه القيم وتعيينها إلى كائن الفئة الفعلي.
4:00:34لذلك سأقول إن موجه النقطة الذاتية يساوي المطالبة وسأقول إن إجابة النقطة الذاتية تساوي الإجابة. الآن لدينا فئة أسئلة معدة ويمكننا تخزين كل المعلومات التي نحتاجها حول السؤال.
4:00:50لذا ما أريد فعله الآن هو العودة إلى ملف تطبيقي dot Python.
4:00:54وسنقوم بالفعل بإنشاء مجموعة من الأسئلة. لدي هنا هذه المحفزات الثلاثة وسأقوم في الواقع بإنشاء مصفوفة أخرى. لذلك سنسميها أسئلة وسأساويها بفتح وإغلاق الأقواس المربعة وسنبدأ في إنشاء كائنات السؤال.
4:01:12لنفترض أن العنصر الأول في مصفوفة الأسئلة هذه سيكون سؤالاً ونريد أن نجتاز محفزات السؤال صفرًا وأن إجابة السؤال الأول كانت باللون الأحمر والأخضر. هذا هو لون التفاح.
4:01:28لذا سأقوم بتمرير السؤال الأول وسأمرر الإجابة أيضًا ، وهي أ وستجد هنا ، أني أتلقى خطأ.
4:01:36لذلك أقول سؤال مرجعي لم يتم حله. إذن ما يتعين علينا فعله قبل إنشاء هذه الأسئلة هو أننا بحاجة إلى استيراد فئة السؤال هذه. لذلك سأصعد هنا ، آتي إلى هنا وأقول من سؤال مهم.
4:01:52والآن في الأسفل هنا في مجموعة الأسئلة هذه ، لم نعد نتلقى هذا الخطأ بعد الآن. لذلك أنشأنا كائن سؤال واحد وسأقوم بإنشاء زوجين آخرين لهذه الأشياء الأخرى. سأقوم فقط بنسخ هذا وسنلصقه هنا.
4:02:10حسنًا ، نحن الآن بصدد إنشاء سؤالين آخرين وسيكون هذان السؤالان واحدًا واثنين والإجابة على السؤال الثاني هي C والإجابة على السؤال الثالث. أعتقد أنه ب. دعني أنظر.
4:02:25نعم ، إنها "ج" و "ب" حسنًا ، لذا فإن ما نفعله أساسًا هو إنشاء ثلاثة أسئلة. كل واحد لديه موجه سؤال مختلف وكل منهم يحصل على إجابات مختلفة. إذن لدينا الآن مجموعة من الأسئلة التي نريد طرحها في اختبارنا.
4:02:39لذا فإن الخطوة التالية هي كتابة دالة تقوم بإجراء الاختبار ، أليس كذلك؟ يجب أن تسأل المستخدم الأسئلة ويجب أن تتحقق لمعرفة ما إذا كانت الإجابة صحيحة.
4:02:49هنا بالأسفل ، أسفل الملف ، لنقم بإنشاء دالة. لذلك سأقول الموت فقط وسنطلق على هذا الاختبار الجري. وداخل هذه الأقواس ، سنأخذ معلمة واحدة في هذه الدالة. سنأخذ قائمة بالأسئلة. لذلك سأقوم فقط بطرح الأسئلة.
4:03:07لذلك ستكون هذه في الأساس قائمة بأشياء الأسئلة التي نريد طرحها على المستخدم. لذا بمجرد وصولي إلى هنا ، كل ما أريد فعله هو تكرار كل الأسئلة. لذلك أريد أن أعبر عن كل سؤال. أريد أن أطلبها للمستخدم.
4:03:20أريد الحصول على إجابة المستخدم وأريد التحقق لمعرفة ما إذا كان ذلك صحيحًا. ونحن بحاجة إلى أن نكون قادرين على تتبع كيفية أداء المستخدم من خلال الاختبار.
4:03:28لذلك أريد إنشاء متغير يسمى الدرجة وسأجعله يساوي صفرًا. لذلك في كل مرة يجيب فيها المستخدم على سؤال بشكل صحيح ، سنزيد متغير النتيجة هذا.
4:03:38حسنًا ، ما أريد القيام به ، كما قلت ، هو تكرار جميع الأسئلة في مجموعة الأسئلة هذه.
4:03:42لذلك سأقوم بإنشاء حلقة for. سأقول عن السؤال في الأسئلة. بعبارة أخرى ، لكل كائن سؤال داخل مصفوفة الأسئلة هذه ، أريد أن أفعل شيئًا. وبشكل أساسي ، فإن أول شيء أريد القيام به هو طرح السؤال على المستخدم.
4:04:00وأريد تخزين استجابتهم داخل متغير. لذلك سأقول ، سأقوم بعمل متغير هنا يسمى الإجابة. وهذا سيمثل إجابة المستخدم على السؤال. وسأجعلها مساوية للإدخال وأحتاج إلى إعطاء هذا الأمر.
4:04:17لذلك سأقوم في الواقع بإعطاء هذا الدافع للسؤال. لذلك يمكنني فقط أن أقول سؤال نقطة موجه. إذن لدي الآن الإجابة التي أدخلها المستخدم ، والتي يتم تخزينها داخل هذا المتغير.
4:04:29لذلك نريد التحقق لمعرفة ما إذا كان لديهم السؤال الصحيح. ويمكنني فعل ذلك باستخدام عبارة if.
4:04:34دعنا نقول إذا كانت الإجابة ، وهذا يشير إلى إجابة الطالب ، تساوي سؤال نقطة إجابة. لذلك أنا أتحقق لمعرفة ما إذا كانت الإجابة التي قدمها الطالب تساوي إجابة السؤال الحالي الذي نطرحه.
4:04:49وإذا كان هذا صحيحًا ، فأنا أريد فقط زيادة النتيجة. لذا سأقول النتيجة زائد يساوي واحدًا. وهذا يعني في الأساس أننا نضيف واحدًا إلى النتيجة.
4:04:59لذا فإن آخر شيء أريد القيام به داخل هذه الوظيفة هو مجرد طباعة النتيجة. لذلك أريد أن أطبع كيف كان أداء المستخدم.
4:05:06لذلك في الأسفل ، سأقول فقط طباعة وسأقوم بطباعة مثل مرحبًا ، لديك سؤالان من أصل ثلاثة أو لديك خمسة من أصل ستة أسئلة ، أليس كذلك؟
4:05:14أو أنك حصلت على صفر من أصل 10 أسئلة ، أليس كذلك؟ سنقوم فقط بطباعة كيف فعلوا ذلك. لذلك سأقول فقط أنك حصلت. والآن أريد أن أطبع عدد الأسئلة التي حصلوا عليها بشكل صحيح.
4:05:24لذلك هذه ستكون النتيجة. ومن أجل طباعة رقم بجانب سلسلة مثل هذه ، يجب أن أقول STR ثم اكتب الرقم. لذلك سنقول نتيجة STR. لذلك نقول بشكل أساسي أنك حصلت على العدد الذي خرجوا منه.
4:05:39لذلك سنستخدم هذه الشرطة المائلة للأمام. والآن سنقول فقط عدد الأسئلة المطروحة. لذا يمكننا القول ، ومرة أخرى ، علينا تحويل هذا إلى سلسلة لأنها ستكون رقمًا.
4:05:49لذلك يمكننا أن نقول ، سلسلة ، ثم نريد معرفة عدد الأسئلة الموجودة في مصفوفة الأسئلة هذه. لذلك أستطيع أن أقول LEN. وداخل هنا ، يمكننا فقط طرح الأسئلة.
4:05:58إذن هذا نوع من هذا البيان الطويل فقط لطباعة عدد الأسئلة التي كانت موجودة.
4:06:02إذن هنا ، سأقول فقط ، صحيح. حسنًا. والآن لدينا بيان الطباعة هذا. وستقوم فقط بطباعة عدد الأسئلة التي حصلوا عليها بشكل صحيح. لذلك دعونا نرى ما إذا كان هذا يعمل.
4:06:14آخر شيء أحتاج إلى فعله هو استدعاء وظيفة اختبار التشغيل هذه. لذلك سأقول اختبار التشغيل ، وسأمر بمصفوفة الأسئلة التي أنشأناها من قبل. لذلك أنشأنا مجموعة الأسئلة هذه مع كل كائنات الأسئلة هذه بداخلها.
4:06:29أنا في الأساس سأقوم بتمرير ذلك إلى وظيفة اختبار التشغيل هذه. فلنبدأ الآن في تشغيل برنامجنا ونرى كيف فعلنا ذلك.
4:06:36نأمل ألا نحصل على أي أخطاء. هناك الكثير من التعليمات البرمجية هناك ، لذا من الممكن أن نفعل ذلك. حسنًا ، ما هو لون التفاح؟ هاه ، هذا صعب. حسنًا ، لنضع "أ" ، لذا سنحصل على السؤال الأول بالشكل الصحيح.
4:06:48ما لون الموز؟ دعنا نخطئ في السؤال الثاني. لذا سأقول ب ، الموز أرجواني. وسنحل السؤال الثالث بشكل صحيح. لذلك تقول ما لون الفراولة؟ سأضع B فقط لأن هذه هي الإجابة الصحيحة. حتى الآن سترى أن برنامجنا يطبع.
4:07:04لقد حصلت على اثنين من ثلاثة صحيح. لذلك لم يطرح علينا جميع الأسئلة فقط والحصول على مدخلاتنا لكل سؤال ، لكنها أيضًا تتبعت درجاتنا وطبعتها. فلماذا لا نجري الاختبار مرة أخرى ونود أن نخطئ كثيرًا هذه المرة.
4:07:20لذلك سوف نفهم هذا الخطأ. سأفهم هذا الخطأ وسأفهم هذا بشكل صحيح. الآن تقول أنك حصلت على واحد من ثلاثة صحيح. لذلك فهو قادر على تقييم اختبارنا بالفعل.
4:07:28والشيء الرائع في البرنامج الذي كتبناه للتو هو إذا أردت ، يمكنني إضافة سؤال آخر هنا ويمكنه تلقائيًا طرحه. لذلك لا يهم عدد الأسئلة التي نطرحها هنا. إنه فقط قادر على طرحها.
4:07:42لذا فإن النقطة التي كنت أحاول توضيحها باستخدام هذا الفيديو بأكمله كانت كيف يمكننا استخدام شيء مثل الفصل
4:07:48لنمذجة كيان في العالم الحقيقي. على سبيل المثال ، أنشأنا فئة الأسئلة هذه وتمكنا من تخزين جميع المعلومات حول سؤال قد نحتاجه في أي وقت. لذلك كنا قادرين على نوع ما مثل المطالبات والإجابة.
4:08:02لذلك أنشأنا نوع بيانات الأسئلة الخاص بنا ثم تمكنا من إنشاء مجموعة من الأسئلة المختلفة ، اجتيازها في طريقة اختبار التشغيل هذه وتمكنت من تقدير الاختبار وتشغيل الاختبار بسهولة حقًا. هذا نوع من النقطة.
4:08:16لذلك نأمل أن يكون هذا منطقيًا. كما تعلم ، كان هذا كثيرًا من التعليمات البرمجية.
4:08:19لذا إذا لم تفهم تمامًا ما فعلته ، فارجع وشاهد الفيديو ، كما تعلم ، جربه عدة مرات بمفردك ومعرفة ما إذا كان يمكنك إنشاء اختبار الاختيار من متعدد الخاص بك.
Object Functions
4:08:28في هذا البرنامج التعليمي ، أريد أن أتحدث إليكم يا رفاق عن وظائف الفصل في بايثون. لذا فإن وظيفة الفئة هي في الأساس وظيفة يمكننا استخدامها داخل فئة ويمكنها إما تعديل كائنات تلك الفئة
4:08:45أو يمكن أن تعطينا معلومات محددة حول هذه الأشياء. هنا ، لدي ملف student.py وداخل هنا ، قمت بإنشاء فصل للطلاب. لذلك كان لدي للتو طالب في الفصل وأعطيت هذا الطالب بعض السمات المختلفة.
4:08:59أعطيته اسمًا وتخصصًا ومعدلًا تراكميًا. لذا يمكنني إعطاء هذا الطالب كل هذه المعلومات. لذلك عندما أقوم بإنشاء كائن طالب ، سيكون به كل تلك المعلومات.
4:09:10الآن هنا في ملف app.py هذا ، قام بالفعل بإنشاء طالبين. إذن الطالب الأول هو أوسكار الذي يدرس المحاسبة وحاصل على معدل تراكمي 3.1. الطالبة الثانية هي Phyllis التي تدرس الأعمال ولديها 3.8.
4:09:26إذن ما يمكننا فعله في الواقع هو أنه يمكننا استخدام وظائف داخل ملفات الفئات هذه. لذلك يمكنني في الواقع تحديد وظيفة داخل فصل الطلاب هذا ومن ثم يمكن لجميع كائنات الطالب الخاصة بي الوصول إليها.
4:09:40لذلك على سبيل المثال ، يمكنني القدوم إلى هنا وإنشاء وظيفة ودعنا نقول أننا أردنا إنشاء وظيفة تخبرنا ما إذا كان هذا الطالب المعين قد حصل على مرتبة الشرف أم لا.
4:09:50لذا سواء كانوا على قائمة الشرف أم لا ، أليس كذلك؟
4:09:53في الأساس ، هل هم مثل طالب جيد حقًا؟ لذلك يمكنني تحديد وظيفة تسمى في قائمة الشرف. وبشكل أساسي ، ما الذي ستفعله ، سيخبرني ما إذا كان هذا الطالب المحدد مدرجًا في قائمة الشرف أم لا.
4:10:09ودعنا نقول أساسًا أن قواعد التواجد في قائمة الشرف هي أنه يجب أن يكون لديك معدل تراكمي 3.5 أو أعلى. إذن ، المعدل التراكمي هنا هو 3.5 أو أعلى ، هذا يعني أنك في قائمة الشرف.
4:10:20حسنًا ، يمكنني هنا كتابة الكود الخاص بذلك. لذلك يمكنني أن أقول إذا كان self.gpa ، وعندما أقول ذاتيًا هنا ، فهذا يشير إلى مثل المعدل التراكمي للطالب الفعلي.
4:10:33وستلاحظ هنا أنني يجب أن أمرر ذلك كمعامل ويجب أن يكون هذا دائمًا هو المعلمة الأولى. لذلك يمكنني أن أقول إذا كان self.gpa أكبر من أو يساوي 3.5 ، فيمكننا أن نعود صحيحًا لأن هذا الطالب في قائمة الشرف.
4:10:52بخلاف ذلك ، يمكننا فقط إرجاع خطأ لأنه إذا لم يكن معدلهم التراكمي أعلى من 3.5 ، فلن يكونوا في قائمة الشرف.
4:11:03هذا هو في الأساس وظيفة شرفنا الصغيرة. ويمكنك أن ترى أنها وظيفة صغيرة جدًا ، لكنها توفر خدمة لأشياء هذه الفئة. يسمح لكائنات هذا الفصل بمعرفة ما إذا كان هذا الطالب الحالي مدرجًا في قائمة الشرف أم لا.
4:11:18لذلك في ملف app.pa هذا ، يمكنني فقط طباعة هذه القيمة. لذلك يمكنني أن أقول طباعة وسأرى ما إذا كان الطالب الأول في قائمة الشرف. حتى الآن عندما أقوم بتشغيل هذا ، سترى أنه يجب أن يطبع خطأ.
4:11:37ويتم إخفاؤها كاذبة هنا لأن الطالب واحد لديه معدل تراكمي 3.1 فقط. إذا كنت سأفعل الشيء نفسه للطالب الثاني ، فإن الطالب الثاني لديه معدل تراكمي 3.8 لذلك يجب أن نعود صحيحًا. وهذا بالضبط ما حدث.
4:11:53لذا فإن وظيفة الفئة هي في الأساس مجرد وظيفة صغيرة يمكن استخدامها بواسطة كائنات الفصل. وأود أن أقول إن هذا مثال جيد جدًا لما يجب أن تفعله وظيفة الفصل.
4:12:04يجب أن يكون مثل إعطائنا معلومات عن الفصل أو يمكن أن يكون مثل تعديل المعلومات حول الفصل. إذن هذه هي أساسيات استخدام الوظائف في الفصول الدراسية.
4:12:12أعني أن هذا برنامج تعليمي بسيط جدًا ، لكنني أردت حقًا أن أقدم لكم يا رفاق مفهوم وضع الوظائف داخل الفصول الدراسية. سيكون هذا مفيدًا حقًا.
4:12:22وإذا كنت تقوم بإنشاء فصل دراسي ، فأنت تريد دائمًا التفكير في الوظائف التي يمكنني وضعها في الداخل هنا والتي ستساعد المستخدم بشكل أساسي على اكتشاف معلومات حول الكائن أو تعديل القيم المختلفة في الكائن.
Inheritance
4:12:40في هذا البرنامج التعليمي أريد أن أتحدث إليكم يا رفاق عن الوراثة في بايثون. الآن الميراث هو في الأساس حيث يمكننا تحديد مجموعة من السمات والوظائف والأشياء داخل الفصل.
4:12:51وبعد ذلك يمكننا إنشاء فئة أخرى ويمكننا أن نرث كل هذه السمات. لذلك يمكنني أن يكون لدي فئة واحدة تحتوي على جميع وظائف فئة أخرى دون الحاجة إلى كتابة أي من نفس الأساليب أو السمات فعليًا.
4:13:06لذا ، إذا كان هذا محيرًا ، فلا تقلق ، فسأريكم يا رفاق بالضبط ما هذا في هذا الفيديو.
4:13:11لذا اسمحوا لي أن أريكم بعض الأشياء التي أعددتها هنا. لقد أنشأت هذا الفصل الذي يسمى الشيف. وهنا لدينا طاهٍ في الصف. وداخل فئة الطهاة لدينا ثلاث وظائف.
4:13:24لذلك يمكن لهذا الشيف القيام بثلاثة أشياء. يمكن للشيف صنع الدجاج. يمكن للطاهي إعداد السلطة ويمكن للطاهي إعداد طبق خاص.
4:13:33وكلما كان الطاهي يصنع طبقًا ، يقول فقط إن الشيف يصنع دجاجًا أو يقوم الطاهي بإعداد سلطة أو يقوم الطاهي بإعداد أضلاع الشواء لهذا الطبق الخاص. إنه في الأساس مجرد قول كل ما يفعله الشيف.
4:13:48لذلك إذا كنت سأحضر هنا إلى ملف app.python الخاص بي ، فستلاحظ أنني أقوم باستيراد الشيف. لذلك يُسمح لي أساسًا باستخدام فئة الطهاة هذه الآن.
4:13:58ويمكنني القول أن الشيف الخاص بي يساوي الشيف. لذلك أقوم بإنشاء طاهٍ جديد. لذلك الآن إذا نزلت إلى هنا وقلت إن الشيف الخاص بي يصنع الدجاج. عندما أقوم بتشغيل برنامجي الآن ، سأقول أن الشيف يصنع دجاجة.
4:14:14إذا قلت اصنع طبقًا خاصًا وقمت بتشغيل البرنامج الآن ، فسأقول أن الشيف يصنع أضلاع الشواء لأن هذا هو طبق الشيف الخاص. لذلك لدي فصل الطهاة الرائع حقًا وهو يعمل بشكل جيد حقًا.
4:14:29لكن دعنا نقول أنني أردت إنشاء فصل دراسي آخر لنمذجة نوع آخر من الطهاة. لذا فإن صف الطهاة هذا هو مجرد عرض مثل بعض الطهاة العامين. نحن نمثل بعض الطهاة العامين في برنامجنا.
4:14:42لكن لنفترض أنني أردت إنشاء فصل دراسي يصمم نوعًا مختلفًا من الطهاة. على سبيل المثال ، لنفترض أننا أردنا إنشاء فصل دراسي يصمم نموذجًا لطاهي صيني.
4:14:51لذا فبدلاً من مجرد طاهٍ عادي ، هذا طاهٍ صيني. حسنًا ، لقد قمت بالفعل بإنشاء ملف هنا يسمى الشيف الصيني دوت بيثون.
4:14:59لذلك يمكننا في الواقع استخدام ملف الشيف الصيني هذا لإنشاء فصل الطاهي الصيني. لذا سأقول فصلًا دراسيًا وهنا سأقول فقط شيف صيني. وبشكل أساسي يمكنني تحديد كل ما يمكن أن يفعله الشيف الصيني.
4:15:17لكن دعنا نقول أن طاهينا الصيني يمكنه فعل كل ما يمكن أن يفعله طاهينا العام. لذا فإن الشيف الصيني مثل طاهٍ خاص ، إنه نوع محدد جدًا من الطهاة.
4:15:29لكن لنفترض أن هذا الطاهي الصيني يمكنه فعل كل ما يمكن للطاهي العادي القيام به. لذلك يمكن للطاهي الصيني صنع الدجاج وصنع السلطة ويمكنه أيضًا إعداد طبق خاص.
4:15:38حسنًا ، إذا كنت أرغب في منح هذا الطاهي الصيني كل هذه الوظائف ، فيمكنني القدوم إلى هنا ويمكنني نسخ كل هذه الوظائف ويمكنني لصقها هنا. حتى الآن يمكن للطاهي الصيني أن يفعل كل ما يمكن أن يفعله الطاهي الآخر.
4:15:54لكن دعنا نقول أنه بالإضافة إلى كل هذه الأشياء ، يمكن للطاهي الصيني أيضًا إعداد طبق خاص يسمى الأرز المقلي.
4:16:01لذلك يمكنني القول أنه أصم ويمكننا القول إننا نصنع أرزًا مقليًا. لذا فإن الشيف الصيني لديه هذه الوظيفة الإضافية التي تسمح له بصنع أرز مقلي وهنا يمكننا فقط أن نقول أن الشيف يصنع أرزًا مقليًا.
4:16:16ودعنا نقول أيضًا أن الشيف الصيني لديه طبق خاص مختلف. لذا بدلاً من صنع أضلاع الشواء ، يصنع الطاهي الصيني الدجاج البرتقالي.
4:16:25حسنًا ، لدينا الآن فصل الطهاة الصينيين الخاص بنا وستلاحظ أنه بإمكانه فعل كل ما يمكن للطاهي العادي القيام به.
4:16:33لذا دعنا نعود إلى ملف app.python الخاص بنا وأريد إنشاء كائن شيف صيني. لذا بدلاً من الاستيراد من الشيف ، سنقوم فقط باستيراده من الشيف الصيني ، لذلك سأقول شيف صيني وسنستورد طاهًا صينيًا.
4:16:49لذلك دعونا نمضي قدمًا ونصنع شيئًا للطاهي الصيني. لذا هنا في الأسفل سأقوم بعمل واحد وسأقول لي ومن ثم طاهي صيني يمكننا طباعة هذا الطبق الخاص.
4:17:02لذلك تذكر أن الشيف الصيني يمكنه فعل كل ما يمكن أن يفعله الشيف العادي.
4:17:06لذلك إذا قلت أن طاهي الصيني يعد طبقًا خاصًا عندما أقوم بتشغيل هذا البرنامج ، فسترى أن الطاهي العادي يصنع أضلاع الشواء والطاهي الصيني يصنع الدجاج البرتقالي.
4:17:18لذلك كل شيء على ما يرام وهذا الطاهي الصيني لديه أيضًا طريقة إضافية تسمى صنع الأرز المقلي ويمكنك أيضًا صنع أرز مقلي.
4:17:28ولكن هذه هي المشكلة عندما أذهب هنا إلى فطيرة الشيف الصيني هذه عندما أردت استخدام جميع الوظائف التي كانت موجودة داخل فصل الطهاة هذا.
4:17:38كان علي في الواقع نسخ كل هذه الوظائف ولصقها فعليًا في هذا الملف بشكل صحيح وهذا نوع من السحب. أعني بشكل خاص مثل تخيل ما إذا كان هذا الطاهي لديه 20 أو 30 من هذه الوظائف المختلفة فيه.
4:17:52حسنًا ، يجب أن أقوم بنسخ ولصق كل هؤلاء داخل هذا الطاهي الصيني وهذا هو المكان الذي يمكننا فيه استخدام شيء يسمى الميراث.
4:17:59لذا بدلاً من الاضطرار إلى نسخ كل هذه الوظائف ولصقها ، يمكنني فقط أن أرث هذه الوظائف من فئة الطهاة تلك.
4:18:07ولكي أفعل ذلك ، يمكنني في الواقع التخلص من كل هذه الأشياء ويمكنني القدوم إلى هنا وبجوار المكان الذي أقول فيه شيف صيني للصف.
4:18:16داخل الأقواس أستطيع أن أقول اسم الفصل الذي أريد أن أرث منه حتى أستطيع أن أقول "شيف".
4:18:22وسأضطر أيضًا إلى استيراد هذا ، لذا سأحضر إلى هنا وسنقول من طاهٍ مستورد. إذن ما يقوله هذا في الأساس هو داخل هذا الطاهي الصيني ، أريد أن أكون قادرًا على استخدام جميع الوظائف الموجودة داخل فصل الطهاة.
4:18:42لذا سأقول ذلك مرة أخرى. داخل فئة الطهاة الصينيين هذه ، أريد أن أكون قادرًا على استخدام جميع الوظائف الموجودة داخل فئة الطهاة هذه.
4:18:50لذلك باستخدام الوراثة هنا ، يمكنني في الواقع الوصول إلى ملف app.py هذا ، وما زلت الآن قادرًا على التنفيذ على سبيل المثال مثل وظيفة make chicken.
4:19:02على الرغم من أنني لم أحدد وظيفة صنع الدجاج هنا ، إلا أنني لم أكتبها. لا يزال بإمكاني تشغيل هذا البرنامج وسيظل الشيف الصيني قادرًا على صنع الدجاج.
4:19:15لذلك عندما أقوم بتشغيل هذا البرنامج ، سترى هنا مكتوبًا أن الشيف يصنع الدجاج. وهذا لأنني ورثت طريقة صنع الدجاج من فصل الطهاة. ولكن هناك شيء واحد تم إفساده. إذا أتيت إلى هنا وقلت أعد طبقًا خاصًا.
4:19:32تذكر أن طبق الشيف الصيني الخاص كان من المفترض أن يكون دجاج برتقالي. ولكن الآن سيقوم الطاهي الصيني بصنع أضلاع الشواء لأنني ورثت هذه الوظيفة الخاصة لعمل الطبق من فئة الطهاة هذه.
4:19:47وما يمكنني فعله في الواقع هو أنني أستطيع المجيء إلى هنا ويمكنني تجاوز ذلك لعمل فصل أطباق خاص. لذلك أستطيع أن أقول أن الموت يصنع طبقًا خاصًا.
4:19:58وهنا يمكنني فقط تجاوزها. لذا يمكنني القول أن الشيف يصنع دجاج برتقال. والآن عندما أذهب إلى هنا وأقوم بتشغيل هذه الوظيفة الخاصة بالطبق.
4:20:12الآن سوف يعود الشيف لعمل الدجاج البرتقالي. لذا فإن الشيف الصيني سيحضر طبقه الخاص.
4:20:18إذن هذا ما يفعله الميراث أساسًا. يسمح لي بوراثة وظائف من فئة موجودة إلى فئة جديدة. ويمكنني في الواقع أن أرث كل ذلك دون الحاجة إلى كتابته.
4:20:31لذلك لم يكن علي أن أكتب إعداد الدجاج وصنع السلطة داخل الفصل الصيني. لكن لا يزال بإمكان الشيف الصيني صنع الدجاج والسلطة لأنها ورثت هذه الوظيفة من فئة الطهاة.
Python Interpreter
4:20:46في هذا البرنامج التعليمي أريد أن أتحدث إليكم يا رفاق عن مترجم بايثون. مترجم Python هو في الأساس بيئة صغيرة يمكننا استخدامها لتنفيذ أوامر Python.
4:20:58لذا فهي تشبه بيئة وضع الحماية الصغيرة حيث يمكننا اختبار وتجربة أوامر Python المختلفة أو وظائف Python المختلفة في بيئة آمنة ومحايدة للغاية.
4:21:08لذلك فهي تشبه إلى حد ما طريقة سريعة وقذرة لكتابة بايثون وتجربة أشياء مختلفة. والطريقة التي نستخدم بها مفسر بايثون هي فتح موجه الأوامر الخاص بنا.
4:21:18الآن إذا كنت تستخدم نظام التشغيل Windows ، فهناك برنامج يسمى موجه الأوامر. إذا كنت تستخدم جهاز Mac ، فهناك برنامج يسمى Terminal. وتحتاج أساسًا إلى فتح هذا البرنامج لاستخدام مترجم Python.
4:21:30لذلك أنا هنا على جهاز Mac ولكن إذا كنت تستخدم نظام Windows ، فيمكنك بشكل أساسي القيام بما أفعله بالضبط داخل موجه الأوامر. لذا ، سأبحث على جهاز Mac هنا عن طرفي.
4:21:41إذا كنت تستخدم نظام التشغيل Windows ، فيمكنك فقط البحث عن مثل CMD أو موجه الأوامر ويجب أن ينبثق.
4:21:46لذا فإن المحطة هي في الأساس بيئة على جهاز الكمبيوتر الخاص بنا حيث يمكننا التفاعل مع الكمبيوتر والقيام بأشياء مختلفة بدون واجهة مستخدم رسومية.
4:21:57لذلك عادةً عندما نتفاعل مع الكمبيوتر ، فإننا نستخدم أشياء مثل الأزرار أو النوافذ أو يمكننا نقل الأشياء.
4:22:05يمكننا بشكل أساسي التفاعل مع الكمبيوتر بالرسومات ولكن المحطة الطرفية أو موجه الأوامر هو مكان يمكننا من خلاله التفاعل مع الكمبيوتر باستخدام أوامر نصية.
4:22:16لذا فأنت تعلم أنني لن أتطرق كثيرًا إلى ما هي المحطة الطرفية وموجه الأوامر ولكن هذا ما هو عليه في الأساس.
4:22:21لذا من الداخل يمكننا استخدام مترجم بايثون. ومترجم بايثون هو في الأساس مجرد برنامج صغير كما قلت ، يمكننا أن نكتب كما تعلمون نوعًا من لغة بايثون.
4:22:33لذلك بشكل عام ، كل ما عليك فعله هو الانتقال إلى الجهاز الطرفي أو موجه الأوامر الخاص بك والكتابة في Python 3.
4:22:40ونظرًا لأننا نستخدم Python 3 ، فسأكتب Python 3 ولكن يمكنك أيضًا كتابة Python العادية وأنا متأكد من أن هذا يمنحك Python 2.
4:22:49إليك الآن إخلاء سريع للمسؤولية على نظام التشغيل Windows ، فقد تواجه مشكلة حيث لا يمكنك استخدام أمر Python 3 هذا ومن المحتمل أنك إذا واجهت هذه المشكلة في Python.
4:23:02مثل Python 3 لم تتم إضافته إلى متغير مسار windows الخاص بك. ويعني ذلك أساسًا أن جهاز الكمبيوتر الخاص بك لا يتعرف على الأمر Python 3.
4:23:13إذا كان هذا هو الحال ، فكل ما عليك فعله هو الانتقال إلى Google وكيفية إضافة Python 3 إلى متغير مسار Windows.
4:23:19من السهل حقًا أنني لن أدخله في هذا الفيديو لمجرد أنه خارج النطاق نوعًا ما ولكن إذا كنت تواجه هذه المشكلة ، فمن المحتمل أنها ليست على متغير مسار Windows الخاص بك.
4:23:28لذلك فقط ابحث عن ذلك في Google وستكون قادرًا على العثور على إجابة.
4:23:32لكنني سأكتب Python 3 وانقر على زر الإدخال وسيفتح هذا الشيء الصغير الرائع هنا. لذلك يمكنك رؤيته بشكل أساسي مثل إصدار Python. الآن سأقوم بالدخول حتى نتمكن من الحصول على بعض الخطوط مثل الأسطر الجديدة هنا.
4:23:46لكن هنا بالأسفل هذا مترجم بايثون لذا يمكننا كتابة كود بايثون هنا وسوف يعمل. لذا يمكنني على سبيل المثال أن أكتب مثل الطباعة وداخلها يمكنني الطباعة مثل hello world.
4:23:58وعندما أنقر فوق إدخال ، سترى أنه يطبع hello world. يمكنني إنشاء متغير لذلك على سبيل المثال يمكنني القول أن الرقم واحد يساوي عشرة.
4:24:07يمكنني القول أن العدد اثنين يساوي تسعين ثم يمكنني طباعة العدد واحد زائد العدد اثنين وسيكون قادرًا على القيام بذلك من أجلي.
4:24:16يمكنني أيضًا استخدام بعضها كدالة حتى أتمكن من تحديد وظيفة هنا. يمكننا عمل وظيفة تسمى say hi وستتخذ معلمة اسم.
4:24:27وسترى هنا عندما رأيت أنني أردت إنشاء دالة وضعت هذه النقاط الثلاث الصغيرة ويمكنني أن أضع مسافة بادئة ويمكننا كتابة رمز الدالة.
4:24:36حتى أستطيع أن أقول مثل طباعة مرحبا زائد الاسم. والآن لدي وظيفة تسمى قل مرحبًا حتى أتمكن من الخروج من هذا بمجرد الدخول مرة أخرى ويمكنني استدعاء الوظيفة حتى أقول مرحبًا وسنقول مرحبًا لي.
4:24:57مرحبًا مايك ، الآن سيقول مرحبًا مايك حتى أتمكن من استخدام وظيفة يمكنني استخدام شيء مثل عبارة if تعرف أنه يمكنني القول أنه يمكنني استخدام شيء مثل حلقة for يمكننا استخدامها أثناء الحلقات.
4:25:08أعني أنه يمكننا بشكل أساسي استخدام جميع الأساسيات مثل أوامر Python وأنت تعرف داخل مترجم Python هذا وكما قلت من قبل ، فهي في الأساس مجرد بيئة حيث يمكنك اختبار كود Python.
4:25:20الآن هذا ليس المكان الذي تريد الكتابة فيه مثل أي نصوص Python جادة. لذلك إذا كنت تحب تصميم وكتابة برنامج بايثون ، فلن أوصي بذلك داخل هذا المترجم.
4:25:31إنها ليست بيئة بديهية للغاية ، لقد تم إعدادها إلى حد كبير لبعض الاختبارات السريعة والقذرة مثل أننا بحاجة إلى اختبار شيء رائع ، وهذا هو المكان المثالي لذلك لأنه لا يتعين عليك إعداد ملف.
4:25:42لست مضطرًا إلى استخدام مثل بعض المعرفات ، فلن تضطر إلى تنفيذ ملف تذهب إليه فقط هنا ، إنه سريع القذر لإنجازه. ولكن إذا كنت تكتب كبرنامج فعلي ، فأنت بالتأكيد تريد بالتأكيد استخدام محرر نصوص.
4:25:55محرر النصوص سيكون أكثر تنظيماً ، وسيكون كل شيء أكثر نظافة ولن يتم الخلط بينك وبين مكان وجود الأشياء وما لديك ، لذا فهذه هي أساسيات مترجم بايثون.
4:26:06أنت تعلم في الدورة التدريبية أنني لم أستخدمه على الإطلاق لمجرد أنني أعتقد أنه من الأسهل كثيرًا أن ندرس عندما نكون داخل ملف أكثر من داخله هنا ولكنك تعلم لا تحسب هذا الرجل من مترجم بايثون إنه أمر رائع يستخدمه الكثير من الأشخاص وهو رائع إذا كنت تستخدمه فقط
4:26:20تحتاج إلى اختبار أنك تعرف أجزاء صغيرة من الكود دون الحاجة إلى إعداد بيئة ضخمة ، لذا فإن مترجم Python رائع بالتأكيد سألتعب معه ، فأنت تعلم أن لديك بعض المرح والاستفادة منه.
4:26:31مرحبًا ، شكرًا لمشاهدتك إذا كنت قد استمتعت بالفيديو ، فالرجاء ترك إعجاب والاشتراك في Draft Academy لتكون أول من يعرف متى نصدر محتوى جديدًا.
4:26:37كما أننا نتطلع دائمًا إلى التحسين ، لذا إذا كان لديك أي نقد أو أسئلة بناءة أو أي شيء ، اترك تعليقًا أدناه.
4:26:44أخيرًا ، إذا كنت تستمتع بمسودة أكاديمية وترغب في مساعدتنا على النمو رأسًا على عقب في وضع مشروع للخط المائل إلى الأمام من موقع Academy.com للمساهمة والاستثمار في مستقبلنا.