العودة إلى الدورة

فهم نطاق المتغيرات (محلي مقابل عام)

برمجة Python: معسكر التدريب من الصفر إلى الاحتراف

نطاق المتغيرات (Variable Scope)

يشير النطاق إلى منطقة البرنامج التي يمكن فيها الوصول إلى المتغير. فهم النطاق يمنع الأخطاء البرمجية الناتجة عن تغير المتغيرات بشكل غير متوقع أو عدم توفرها.

1. النطاق المحلي (Local Scope)

المتغيرات المعرفة داخل دالة هي متغيرات محلية. هي توجد فقط أثناء تنفيذ الدالة ولا يمكن الوصول إليها من خارجها.

python def my_function(): local_var = 100 # نطاق محلي print(local_var)

my_function() # المخرجات: 100

print(local_var) # سيؤدي لخطأ NameError: المتغير غير معرف هنا

2. النطاق العام (Global Scope)

المتغيرات المعرفة خارج أي دالة هي متغيرات عامة. يمكن الوصول إليها من أي مكان في الملف.

python global_count = 0

def increment_count(): # الدوال يمكنها قراءة المتغيرات العامة print(f"Inside function, global count is: {global_count}")

increment_count()

الكلمة المفتاحية global

إذا كنت بحاجة إلى تعديل متغير عام من داخل نطاق محلي، يجب عليك التصريح بذلك صراحة باستخدام كلمة global.

python global_setting = 'Off'

def toggle_setting(): global global_setting # التصريح بنية تعديل المتغير العام global_setting = 'On' print(f"Setting toggled to: {global_setting}")

toggle_setting() print(f"Outside function: {global_setting}") # المخرجات: On