يشير نطاق المتغير إلى المنطقة التي يمكن أن يكون فيها المتغير صالحًا، لأنه عندما نستخدم دالة، يتم تعريف بعض المتغيرات في البرنامج الرئيسي، ويتم تعريف بعضها في الوظيفة المسماة عندما يستخدم برنامجنا الرئيسي الوظيفة عند التعريف متغير، يحدث استثناء. دعونا نقدم المتغيرات المحلية والمتغيرات العالمية.
المتغيرات المحلية، كما يوحي الاسم، هي متغيرات تعمل في منطقة محلية. إذا تم تعريف متغير في دالة، فإنه سيعمل فقط في الدالة إذا تم استخدام متغير داخل الدالة خارج الدالة، فسيحدث استثناء .
انظر إلى المثال التالي:
deftest():data='المتغير المحلي'print('إخراج البيانات داخل الوظيفة:',data)test()print('بيانات الإخراج في البرنامج الرئيسي:',data)
الإخراج هو:
إخراج البيانات داخل الوظيفة هو: المتغير المحلي Traceback(mostrecentcallllast):FileC:/Users/Qingyan/PycharmProjects/untitled/venv/Include/ts.py,line6,in<module>print('بيانات الإخراج في البرنامج الرئيسي: '، البيانات) خطأ في الاسم: الاسم 'بيانات' غير محدد
نظرًا لأن البيانات المتغيرة محددة داخل الوظيفة، فعندما نستخدم البيانات المتغيرة في البرنامج الرئيسي، ستكون هناك مشكلة في عدم وجود المتغير الذي يتم الوصول إليه، لذلك يجب الانتباه إلى حقيقة أن المتغيرات المحددة داخل الدالة هي متغيرات محلية، ما لم يتم الإعلان عن خلاف ذلك، لن يمكن الوصول إليها خارج الدالات.
يمكننا أيضًا أن نفهم المتغيرات العالمية من المعنى الحرفي أنها متغيرات تعمل عالميًا. قد يعتقد بعض الطلاب بطبيعة الحال أن المتغيرات العالمية يجب أن تكون متغيرات محددة في البرنامج الرئيسي طريقتان لاستخدام المتغيرات العالمية:
نطاق المتغيرات التي نحددها في البرنامج الرئيسي هو نطاق عالمي، ويمكننا أيضًا استخدام هذه المتغيرات مباشرة في الوظائف المحددة، انظر المثال التالي:
data='متغير عام data'deftest():print('هذا متغير عام يعمل في الوظيفة:',data)test()print('هذا متغير عام يعمل خارج الوظيفة:',data)
نتيجة الإخراج:
هذا هو المتغير الشامل الذي يعمل في الوظيفة: بيانات المتغير العام هذا هو المتغير الشامل الذي يعمل خارج الوظيفة: بيانات المتغير العام
هذه الطريقة هي المتغير العام الذي نستخدمه عادة، ويمكن استخدام المتغيرات التي نحددها في البرنامج الرئيسي مباشرة داخل الوظيفة.
يمكن أيضًا برمجة المتغيرات التي نحددها داخل الوظيفة كمتغيرات عامة، وفي هذا الوقت نحتاج إلى استخدام الكلمة الأساسية العالمية.
أولاً، دعونا نلقي نظرة على ما يحدث عندما تكون أسماء المتغيرات العامة والمتغيرات المحلية هي نفسها. ألق نظرة على المثال التالي:
data='هذا هو المتغير العام data'print(data)deftest():data='هنا هو المتغير المحلي data'print(data)test()print('تحقق من بيانات المتغير العام مرة أخرى:',data)
الإخراج هو:
هنا بيانات المتغير العام هنا بيانات المتغير المحلي تحقق من بيانات المتغير العام مرة أخرى: هنا بيانات المتغير العام.
من هذا المثال يمكننا أن نرى أنه عندما تكون أسماء المتغيرات العامة والمتغيرات المحلية هي نفسها، فإن ذلك لا يؤثر على محتويات المتغير الشامل، ولكن إذا أردنا تعديل قيمة المتغير الشامل في الدالة، فإننا يجب عليك استخدام الكلمة الأساسية العالمية.
انظر إلى المثال التالي مرة أخرى:
data='هذا هو المتغير العام data'print(data)deftest():globaldatadata='هنا هو المتغير المحلي data'print(data)test()print('تحقق من بيانات المتغير العام مرة أخرى:',data)
الإخراج هو:
هنا بيانات المتغير العام هنا بيانات المتغير المحلي تحقق من بيانات المتغير العام مرة أخرى: هنا بيانات المتغير المحلي.
من خلال الكلمة الأساسية العامة، يخبر التصريح المحلي الدالة أن العمومي هو متغير عالمي، وبعد التعديل، يتم تعديل جميع المتغيرات في الكلمة الأساسية العامة.
عندما لا يكون هناك متغير مُعلن عنه عالميًا، يمكننا أيضًا استخدام الكلمة الأساسية العالمية محليًا للإعلان مباشرة عن متغير كمتغير عام، ثم يمكن أيضًا استخدام المتغيرات التي نحددها في الوظيفة في البرنامج الرئيسي. انظر المثال التالي:
deftest():globaldatadata='هذه هي البيانات المتغيرة التي تم إنشاؤها محليًا'print('هذا هو الإخراج في الوظيفة:',data)test()print('هذا هو الإخراج في البرنامج الرئيسي:',data)
الإخراج هو:
هذا هو الإخراج في الوظيفة: هذه هي البيانات المتغيرة التي تم إنشاؤها محليًا هذا هو الإخراج في البرنامج الرئيسي: هذه هي البيانات المتغيرة التي تم إنشاؤها محليًا
من خلال المثال أعلاه، يمكننا فهم دور الكلمة الأساسية global في التحكم بالمتغيرات العامة، بالإضافة إلى ذلك، يجب الانتباه إلى محاولة تجنب أن تكون أسماء المتغيرات العامة والمتغيرات المحلية هي نفسها عند كتابة البرامج المجالات، وسوف تؤثر على التفاعل بينهما. هذا كل ما لدينا في هذا القسم، فلنتعرف على الوظائف المجهولة في القسم التالي.