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

Python มีตัวแปร Private ในคลาสหรือไม่

ใน Python ไม่มีตัวแปร Private (Private Variables) จริงๆ ตัวแปรและเมธอดทุกตัวเป็น Public โดยค่าเริ่มต้น

อย่างไรก็ตาม มีการเลียนแบบ Private Variables โดยใช้ Double Underscore (__) นำหน้าชื่อตัวแปร ทำให้ตัวแปรเหล่านั้นมองไม่เห็นหรือเข้าถึงยากจากภายนอกคลาสที่ประกอบอยู่ ทำได้ผ่าน Name Mangling

ตัวแปรเหล่านี้ ไม่ได้เป็น Private อย่างแท้จริง เพราะยังเข้าถึงได้ด้วยโค้ดวิธีพิเศษ การขึ้นต้นชื่อด้วย Single Underscore _ (Semi-private) และ Double Underscore __ (Fully private) ทำให้เข้าถึงยากและมองไม่เห็นง่ายจากภายนอกคลาส