‫حسنًا ، لنلعب لعبة صغيرة.
‫هل يمكنك تخمين ما ستكون عليه مخرجات هذا البرنامج؟
‫لدي هنا أكثر من واحد يساوي.
‫ثم نقوم بإنشاء دالة تسمى الارتباك ، حيث يكون لدينا a يساوي خمسة ونعيد a.
‫سؤالي هو عندما نطبع A وعندما نطبع الارتباك ، ماذا تتوقع أن يحدث هنا؟
‫خذ ثانية لمعرفة وقفة إذا كنت بحاجة إلى ذلك.
‫ودعونا نكتشف ذلك.
‫واحد وخمسة.
‫هل هذا ما توقعته؟
‫لنذهب.
‫سطر بسطر.
‫أولاً نقوم بتعيين قيمة واحد إلى المتغير A ، ثم نقوم بإنشاء وظيفة تسمى الارتباك وسيقول مترجم بايثون ، حسنًا
‫، ارتباك ، وظيفة.
‫أعلم ما هو.
‫سأضعها في الذاكرة.
‫عندما تحتاج إلى استخدامي ، فقط أخبرني.
‫وبعد ذلك سوف ينتقل إلى السطر الثامن والسطر الثامن سيقول ، مهلا ، اطبع ما هو البئر ، المرة
‫الوحيدة التي رأيت فيها a هنا هي تساوي واحدًا.
‫لذا ، انتقل إلى الذاكرة ، دعنا نقول أن أ يساوي واحدًا.
‫ولكن بعد ذلك عندما أجري ارتباكًا مثل هذا.
‫سأقول ، مهلاً ، a سيساوي خمسة والآن نعيد A وهو خمسة.
‫OC ماذا لو قمت بتغيير ترتيب هذا؟
‫ماذا لو ذهبت هكذا؟
‫ماذا سيحدث إذا قمت بالنقر فوق "تشغيل"؟
‫هل هذا ما توقعته؟
‫مرة أخرى ، لدينا واحد يساوي واحدًا.
‫ثم نحدد الوظيفة ، ثم نطبع الارتباك.
‫الارتباك الآن سيؤدي إلى تعيين a يساوي خمسة ثم إرجاع a.
‫لكن لماذا لم يتغير هذا؟
‫لماذا لا يزال يساوي واحدًا عند وصولنا إلى هنا؟
‫وهذا بسبب النطاق ، أليس كذلك؟
‫ما يفعله مترجم بايثون هو عندما يقوم بتشغيل وظيفة الارتباك ، سيقول ، مهلاً
‫، a سيساوي خمسة.
‫لكني أقوم بإنشاء متغير هنا يسمى A في كوني.
‫لا أعرف شيئًا عن أحد يساوي هنا.
‫لدي كون خاص بي.
‫وبعد تشغيل هذه الوظيفة ، حسنًا ، لقد انتهينا.
‫لقد أعدنا الوظيفة وذهبت تمامًا.
‫لكننا لم نترك الكون في النطاق العالمي.
‫إذن ، هناك مجموعة من القواعد التي يمر بها مترجم بايثون للتحقق من متغير.
‫والقواعد هي هذه.
‫أولاً ، سوف تتحقق من الأمر مع المحلي.
‫لذا ابدأ بالمحلي.
‫وما نسميه هو نطاق محلي.
‫النطاق المحلي هو نطاق يمثل جزءًا من هذه الوظيفة المحلية.
‫لذا فإن النطاق المحلي.
‫سوف تحقق هناك.
‫مهلا ، هل أعرف المتغير؟
‫حسنًا ، نعم ، عندما أعود.
‫أ لدي متغير محدد هنا لذا فهو يبدأ من هناك.
‫ولكن لنفترض أن A لم يكن هناك ، فلنفترض أنني أزلت أ وأنقر على تشغيل هنا.
‫حصلت على كليهما مرة واحدة لأن القاعدة الثانية هي أنه إذا لم يكن هناك شيء في المتغير المحلي أو النطاق
‫المحلي ، ثم الرقم الثاني ، فهل هناك نطاق محلي أصلي؟
‫في حالتنا ، ما هو أصل هذه الوظيفة؟
‫حسنًا ، إنه النطاق العالمي.
‫لكن يمكننا أيضًا القيام بوظيفة أخرى.
‫لنفترض أن الوالد والوالد هما أحد الوالدين لوظيفة الارتباك.
‫وهنا ، لنفترض أن أ يساوي عشرة.
‫الآن هنا.
‫سوف نعود.
‫ارتباك فقط حتى نتمكن من استخدامه مرة أخرى وتشغيله بالفعل.
‫لذلك دعونا ندعو الوالدين.
‫وانقر فوق تشغيل.
‫حسنًا ، لنستعرض هذا.
‫لذلك ليس الأمر محيرًا للغاية.
‫لدينا وظيفة الوالدين التي يتم استدعاؤها.
‫لذلك عندما نسمي ذلك ، نحدد a يساوي عشرة.
‫ثم نخلق أيضًا ارتباكًا جديدًا للدالة.
‫ثم في النهاية نعود إلى الارتباك ونشغلها بالفعل.
‫سنقوم بإرجاع a ثم هنا نطبع أيًا كانت قيمة A ، وهي عشرة.
‫ولما ذلك؟
‫حسنًا ، لأننا نبدأ أولاً بالنطاق المحلي.
‫مهلا ، هل يعرف الارتباك ما هو؟
‫لا.
‫ليس لدي في النطاق المحلي الخاص بي.
‫OC هل مدرسة والدي المحلية لديها ذلك؟
‫لذلك سوف يرتفع المستوى ويقول ، مرحبًا ، هل تعرف وظيفة الوالدين ما هي؟
‫نعم ، لديّ يساوي عشرة ، لذا سأطبع ذلك.
‫القاعدة الثالثة أو الترتيب الثالث عالمي.
‫والعالمية هي ما نسميه المسافة البادئة للشيء.
‫إنه هذا الملف ، أليس كذلك؟
‫مهما كان الملف ، فهذا عالمي.
‫في حالتنا ، إذا كان A يساوي عشرة غير موجود هنا ، فلا يوجد مكان محلي ، ولا يوجد أصل محلي.
‫وأنا انقر فوق تشغيل.
‫يتحقق من النطاق العالمي.
‫وأخيرًا ، هناك قاعدة أخرى ، وهي رقم أربعة ، وهي قاعدة صعبة.
‫وهذا ما نسميه مبني في بايثون.
‫أو بنيت في وظائف بيثون.
‫إذن ، تأتي لغة بايثون بوظائف محددة مسبقًا مثل؟
‫حسنًا ، المبلغ الذي تحدثنا عنه من قبل.
‫هذا البعض دعنا نقول ، فقط أعطها خمسة.
‫سوف نتحقق أو في الواقع ، دعونا لا نعطيه أي شيء.
‫لنقم ببعض هنا.
‫عندما أقوم بتشغيل هذا.
‫أنا بنيت في بعض الوظائف.
‫حاليا.
‫كيف عرفوا ما هذا؟
‫ماذا كان هذا المتغير في نهاية اليوم؟
‫حسنًا ، لأنه قال ، مهلاً ، هل لديّ بعض ما بداخل هذا الكون؟
‫لا.
‫أنا لا.
‫هل لدي بعض في نطاق والدي؟
‫كلا ، لا أفعل.
‫هل لدي بعض في العالمية؟
‫لا.
‫لا يوجد شيء هنا.
‫وبعد ذلك ، فإن الشيء الأخير الذي سيتحقق منه هو ، هل هناك نوع من وظيفة مضمنة في Python؟
‫نعم.
‫في الواقع ، تعطينا Python بعضًا حتى تتمكن من استخدامها حتى لا تخطئ.
‫وهذه هي قواعد النطاق التي يتبعها مترجم بايثون.
‫رائع جدا.
‫لا يزال هناك عدد قليل من الأشياء التي نحتاج إلى تعلمها.
‫سأراكم في الفيديو التالي.