UnboundLocalError: local variable referenced before assignment
UnboundLocalError: local variable referenced before assignment
قُرئ متغيّر محلي قبل إسناده داخل الدالة.
ماذا يعني
قُرئ متغيّر محلي قبل إسناده داخل الدالة.
السبب المحتمل
الإسناد إلى اسم في أي مكان داخل دالة يجعله محليًا للدالة بأكملها، فالإشارة إليه قبل ذلك الإسناد (أو نية استخدام متغيّر عام) تفشل.
كيفية إصلاحه
هيّئ المتغيّر قبل الاستخدام، أو أعلن 'global name' / 'nonlocal name' إن كنت تنوي تعديل متغيّر خارجي. تجنّب إعادة استخدام اسم خارجي تنوي قراءته فقط.
أخطاء Python أخرى
حول البحث عن رموز الأخطاء
أداة البحث عن رموز الأخطاء هي دليل قابل للبحث يضم أكثر من 200 رسالة ورمز خطأ شائع موزعة على 12 فئة: رموز حالة HTTP، أخطاء Windows، أخطاء المتصفح والشبكة، JavaScript، Python، PHP، Node.js وnpm، Java، MySQL، Git، أخطاء shell في Linux ورموز البريد الإلكتروني/SMTP. كل مدخل مكتوب بلغة بسيطة لتسهيل استكشاف الأخطاء وإصلاحها بسرعة.
يُشرح كل خطأ في ثلاثة أجزاء: ماذا تعني الرسالة فعلياً، وما هو سببها الشائع، والخطوات العملية لإصلاحها. هذا التنظيم يحوّل نصاً غامضاً مثل ERR_CONNECTION_REFUSED أو 0x80070005 إلى قائمة إجراءات واضحة بدلاً من التخمين.
يمكنك تصفية القائمة حسب الفئة، والبحث برمز الخطأ أو الثابت أو جزء من الرسالة، ونسخ أي رمز بنقرة واحدة. لكل خطأ أيضاً صفحته المخصصة مع أخطاء ذات صلة من نفس الفئة، بحيث يمكنك حفظ رابط مباشر للحل أو مشاركته.
كيفية استخدام البحث عن رموز الأخطاء
- اكتب رمز الخطأ أو الرسالة في مربع البحث — مثلاً 404 أو ERR_NAME_NOT_RESOLVED أو 0x80070005.
- ضيّق النتائج باستخدام فلتر الفئة (HTTP، Windows، JavaScript، MySQL وغيرها) إذا أعاد البحث عدداً كبيراً من النتائج.
- افتح المدخل المطابق لقراءة معناه وسببه المحتمل وكيفية إصلاحه.
- استخدم زر النسخ للحصول على الرمز الدقيق لتضمينه في تقرير خلل أو تذكرة دعم.
- راجع قسم الأخطاء ذات الصلة لمعرفة أخطاء أخرى من نفس الفئة.