Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คุณจะเปรียบเทียบโมดูล คลาส และเนมสเปซใน Python อย่างไร


เนมสเปซเป็นวิธีการปรับใช้ขอบเขต ใน Python แต่ละแพ็คเกจ โมดูล คลาส ฟังก์ชัน และฟังก์ชันเมธอดจะเป็นเจ้าของ "เนมสเปซ" ซึ่งแก้ไขชื่อตัวแปรได้ เมื่อมีการประเมินฟังก์ชัน โมดูล หรือแพ็คเกจ (กล่าวคือ เริ่มดำเนินการ) เนมสเปซจะถูกสร้างขึ้น คิดว่ามันเป็น "บริบทการประเมิน" เมื่อฟังก์ชัน ฯลฯ เสร็จสิ้นการดำเนินการ เนมสเปซจะหายไป ตัวแปรจะลดลง นอกจากนี้ยังมีเนมสเปซส่วนกลางที่ใช้หากชื่อนั้นไม่อยู่ในเนมสเปซในเครื่อง

Python มีวิธีใส่คำจำกัดความในไฟล์และใช้ในสคริปต์หรือในอินสแตนซ์แบบโต้ตอบของล่าม ไฟล์ดังกล่าวเรียกว่าโมดูล คำจำกัดความจากโมดูลสามารถนำเข้าสู่โมดูลอื่นหรือเข้าสู่โมดูลหลักได้ ดังนั้น โมดูล python จึงเป็นเพียงแค่แพ็คเกจสำหรับห่อหุ้มโค้ดที่ใช้ซ้ำได้ โมดูลอยู่ในโฟลเดอร์ที่มีไฟล์ __init__.py โมดูลสามารถมีฟังก์ชันได้ แต่ยังรวมถึงคลาสด้วย โมดูลนำเข้าโดยใช้คำสำคัญนำเข้า

ในทางกลับกัน คลาสสามารถกำหนดได้ในรหัสแอปพลิเคชันหลักของคุณหรือภายในโมดูลที่แอปพลิเคชันของคุณนำเข้า คลาสเป็นแกนหลักของ Object Oriented Programming และสามารถมีคุณสมบัติและเมธอดได้ คุณสามารถสร้างอินสแตนซ์ของคลาสได้หลายอินสแตนซ์ แต่สร้างอินสแตนซ์ของโมดูลไม่ได้ คุณสามารถเปรียบเทียบโมดูลกับคลาสสแตติกหรือซิงเกิลตันได้