"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الوصول إلى المتغيرات غير المحلية في Python 2.x؟

كيفية الوصول إلى المتغيرات غير المحلية في Python 2.x؟

تم النشر بتاريخ 2024-11-03
تصفح:901

How to Access Nonlocal Variables in Python 2.x?

الوصول إلى المتغيرات غير المحلية في Python 2.x

في إصدارات Python 2.x، الكلمة الأساسية "غير المحلية" غير متوفرة، مما يجعلها من الصعب تنفيذ عمليات الإغلاق التي تصل إلى المتغيرات غير المحلية. ومع ذلك، هناك تقنيات يمكن استخدامها للتعامل مع مثل هذه السيناريوهات.

الوصول للقراءة فقط إلى المتغيرات غير المحلية

يمكن للوظائف الداخلية في Python 2.x القراءة والوصول إليها المتغيرات غير المحلية هذا يعني أنه يمكنك الرجوع إلى المتغيرات غير المحلية ضمن الوظائف الداخلية، لكن لا يمكنك إعادة تعيين قيمها.

الحل البديل باستخدام قاموس

الحل البديل هو استخدام قاموس لتخزين المتغيرات غير المحلية يمكن للوظائف الداخلية بعد ذلك الوصول إلى هذه المتغيرات من خلال الرجوع إلى عناصر القاموس. وهذا يضمن إمكانية الوصول إلى المتغيرات غير المحلية للوظائف الداخلية مع احترام قيود القراءة فقط.

مثال للتعليمات البرمجية

فيما يلي مثال لكيفية تنفيذ إغلاق يصل إلى متغير غير محلي باستخدام القاموس:

def outer():
    d = {'y': 0}  # Dictionary to store the nonlocal variable

    def inner():
        d['y']  = 1  # Increment the 'y' value in the dictionary
        return d['y']  # Return the updated value

    return inner

f = outer()  # Outer function call returns the inner function
print(f(), f(), f())  # Prints 1 2 3
في هذا المثال، يمكن للوظيفة الداخلية الوصول إلى المتغير غير المحلي y المخزن في القاموس d. يمكن للوظيفة الداخلية زيادة وإرجاع قيمة y، مما يسمح لنا بمحاكاة الوصول إلى المتغيرات غير المحلية في Python 2.x.

من خلال الاستفادة من هذه التقنية، يمكنك تنفيذ عمليات الإغلاق التي تصل إلى المتغيرات غير المحلية في Python 2.x بشكل فعال. الإصدارات، مما يوفر قدرًا أكبر من المرونة والتحكم في التعليمات البرمجية الخاصة بك.

بيان الافراج أعيد طبع هذه المقالة على: 1729557438 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3