UnboundLocalError: local variable referenced before assignment
UnboundLocalError: local variable referenced before assignment
ตัวแปรท้องถิ่นถูกอ่านก่อนที่จะถูกกำหนดค่าภายในฟังก์ชัน
หมายความว่าอย่างไร
ตัวแปรท้องถิ่นถูกอ่านก่อนที่จะถูกกำหนดค่าภายในฟังก์ชัน
สาเหตุที่น่าจะเป็น
การกำหนดค่าให้ชื่อใดๆ ที่ใดก็ได้ในฟังก์ชันจะทำให้มันเป็นตัวแปรท้องถิ่นตลอดทั้งฟังก์ชัน ดังนั้นการอ้างอิงก่อนการกำหนดค่านั้น (หรือตั้งใจใช้ตัวแปร global) จึงล้มเหลว
วิธีแก้ไข
กำหนดค่าเริ่มต้นให้ตัวแปรก่อนใช้งาน หรือประกาศ 'global name' / 'nonlocal name' หากตั้งใจแก้ไขตัวแปรภายนอก หลีกเลี่ยงการใช้ชื่อภายนอกซ้ำที่ตั้งใจแค่จะอ่านเท่านั้น
ข้อผิดพลาด Python อื่น ๆ
เกี่ยวกับ ค้นหารหัสข้อผิดพลาด
Error Code Lookup คือไดเรกทอรีที่ค้นหาได้สำหรับข้อความและรหัสข้อผิดพลาดที่พบบ่อยกว่า 200 รายการ ครอบคลุม 12 หมวดหมู่ ได้แก่ HTTP status codes, Windows error codes, ข้อผิดพลาดของเบราว์เซอร์และเครือข่าย, JavaScript, Python, PHP, Node.js และ npm, Java, MySQL, Git, ข้อผิดพลาดของ Linux shell และรหัสอีเมล/SMTP ทุกรายการเขียนด้วยภาษาที่เข้าใจง่ายเพื่อการแก้ไขปัญหาอย่างรวดเร็ว
ข้อผิดพลาดแต่ละรายการอธิบายเป็น 3 ส่วน ได้แก่ ความหมายที่แท้จริงของข้อความ สาเหตุที่พบบ่อย และขั้นตอนที่เป็นรูปธรรมในการแก้ไข โครงสร้างนี้เปลี่ยนข้อความลึกลับอย่าง ERR_CONNECTION_REFUSED หรือ 0x80070005 ให้กลายเป็นเช็คลิสต์ที่ลงมือทำได้จริง แทนที่จะต้องเดาสุ่ม
คุณสามารถกรองรายการตามหมวดหมู่ ค้นหาด้วยรหัส ค่าคงที่ หรือส่วนหนึ่งของข้อความ และคัดลอกรหัสใดก็ได้ด้วยคลิกเดียว ข้อผิดพลาดแต่ละรายการยังมีหน้าเฉพาะของตัวเองพร้อมข้อผิดพลาดที่เกี่ยวข้องจากหมวดหมู่เดียวกัน คุณจึงบุ๊กมาร์กหรือแชร์ลิงก์ตรงไปยังวิธีแก้ที่ตรงจุดได้
วิธีใช้ ค้นหารหัสข้อผิดพลาด
- พิมพ์รหัสหรือข้อความแสดงข้อผิดพลาดลงในช่องค้นหา เช่น 404, ERR_NAME_NOT_RESOLVED หรือ 0x80070005
- จำกัดผลลัพธ์ด้วยตัวกรองหมวดหมู่ (HTTP, Windows, JavaScript, MySQL และอื่นๆ) หากการค้นหาให้ผลลัพธ์มากเกินไป
- เปิดรายการที่ตรงกันเพื่ออ่านความหมาย สาเหตุที่เป็นไปได้ และวิธีแก้ไข
- ใช้ปุ่มคัดลอกเพื่อดึงรหัสที่แน่นอนสำหรับรายงานบั๊กหรือตั๋วซัพพอร์ต
- ตรวจสอบส่วนข้อผิดพลาดที่เกี่ยวข้องเพื่อดูข้อผิดพลาดอื่นๆ จากหมวดหมู่เดียวกัน