ในแหล่งข้อมูลมากมายฉันพบว่า"ขอบเขต"และ"เนมสเปซ"ถูกใช้แทนกันได้ซึ่งดูเหมือนว่าจะสับสนเล็กน้อยเนื่องจากมันหมายถึงสิ่งที่แตกต่างกัน
- ขอบเขตกำหนดขอบเขตของรหัสที่มีชื่อ
- กฎ LEGB กำหนดวิธีค้นหาชื่อ
- Namespace เป็นสถานที่ที่คุณค้นหาชื่อ
จากนั้นฉันก็อ่าน:
- "ชื่อถูกผูกไว้กับ namespace ตามที่พวกเขาได้รับมอบหมาย ... " (ซึ่งฉันเชื่อว่าเป็นข้อตกลงกับขอบเขตในการกำหนดขอบเขตคำศัพท์)
- "ฟังก์ชั่นเพิ่มเนมสเปซเลเยอร์พิเศษให้กับโปรแกรมของคุณ" [ อ้างอิง ] (พวกเขาไม่ได้เพิ่มขอบเขตในพื้นที่พิเศษหรือไม่)
- "ชื่อทั้งหมดที่กำหนดภายในนิยามฟังก์ชั่นจะอยู่ในขอบเขตภายใน (เนมสเปซที่เกี่ยวข้องกับการเรียกใช้ฟังก์ชัน)"
- "โกลบอลสโคป - กล่าวคือเนมสเปซซึ่งตัวแปรสร้างขึ้น (กำหนด) ที่ระดับบนสุดของไฟล์โมดูลอยู่"
* ราคาทั้งหมดมาจากการเรียนรู้ python 5th edition ch17
เนมสเปซใน Python เป็นการนำไปใช้กับขอบเขตหรือไม่ พวกเขาเหมือนกันหรือไม่ มีใครสอนฉันได้ไหม