• 0

ما فائدة كلمة global في بايثون؟

أجد في الكثير من التطبيقات المكتوبة بلغة بايثون انه يتم استخدام كلمة global قبل الكثير من المتغيرات فما فائدة هذه الكلمة؟

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

ليس لهذه الكلمة الكثير من الاستخدامات، فاستخدامها الوحيد هو حينما تريد تغيير و إنشاء متغيرات عامة في محتوى محلي على الرغم من أن إنشاء متغيرات عالمية نادرا ما يعتبر حلا جيدا في البرمجة بلغة بايثون، مثال:

def bob():
    me = "locally defined"    # Defined only in local context
    print me

bob()
print me     # Asking for a global variable

السطر الأخير للشيفرة البرمجية سيسبب لك هذا الخطأ:

locally defined
Traceback (most recent call last):
  File "file.py", line 9, in <module>
    print me
NameError: name 'me' is not defined

هذا الخطأ بسبب أن me غير مُعرّفة، ولحل هذه المشكلة يجب عليك استخدام global حيث ستتمكن من استخدام المتغير خارج الدالة أي سيصبح متغيرا عالمي:

def bob():
    global me
    me = "locally defined"   # Defined locally but declared as global
    print me

bob()
print me     # Asking for a global variable

والسطور السابق سوف تُظهر لك:

locally defined
locally defined
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن