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