nonlocal الإعلان عن متغير خارجي غير عام

آخر تحديث: 2026-09-22

nonlocal الإعلان عن متغير خارجي غير عام

nonlocal name يخبر أن name داخل جسم الدالة يشير إلى متغير في أقرب نطاق خارجي (لكنه غير عام).

التصنيفالكلمات المفتاحية والعبارات
النوعكلمة مفتاحية / عبارة
إصدار بايثونall

📝 الصياغة

nonlocal name [, name]*

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

1 2
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qماذا يحدث إذا عدّلت متغيرًا خارجيًا داخل دالة متداخلة دون `nonlocal`؟
Aينشئ متغيرًا محليًا بالاسم نفسه في الدالة الداخلية؛ تبقى قيمة المتغير الخارجي دون تغيير، وقد تحصل حتى على `UnboundLocalError`. لتعديل المتغير الخارجي، يجب التصريح بـ `nonlocal` أولاً.
Qهل يمكن لـ `nonlocal` أن يشير إلى متغير عام؟
Aلا. يجب أن يرتبط `nonlocal` بمتغير موجود مسبقًا في بعض نطاقات الدوال المحيطة. إذا لم يوجد مثل هذا المتغير، تحصل على `SyntaxError: no binding for nonlocal 'x' found`.
Qهل يمكن استخدام `nonlocal` و`global` معًا؟
Aنعم، ولكن فقط لأسماء مختلفة. لا يمكن التصريح عن الاسم نفسه كـ `global` و`nonlocal` معًا؛ فعل ذلك يُحدث `SyntaxError`.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%