แอตทริบิวต์ของวัตถุอาจมองเห็นหรือไม่ปรากฏภายนอกคำจำกัดความของคลาส คุณต้องตั้งชื่อแอตทริบิวต์ด้วยเครื่องหมายขีดล่างคู่ จากนั้นแอตทริบิวต์เหล่านั้นจะไม่ปรากฏแก่บุคคลภายนอกโดยตรง
ตัวอย่าง
#!/usr/bin/python class JustCounter: __secretCount = 0 def count(self): self.__secretCount += 1 print self.__secretCount counter = JustCounter() counter.count() counter.count() print counter.__secretCount
ผลลัพธ์
เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
1 2 Traceback (most recent call last): File "test.py", line 12, in <module> print counter.__secretCount AttributeError: JustCounter instance has no attribute '__secretCount'
Python ปกป้องสมาชิกเหล่านั้นด้วยการเปลี่ยนชื่อภายในเพื่อรวมชื่อคลาส คุณสามารถเข้าถึงแอตทริบิวต์เช่น object._className__attrName หากคุณจะแทนที่บรรทัดสุดท้ายของคุณดังต่อไปนี้ มันก็เหมาะกับคุณ -
......................... print counter._JustCounter__secretCount
เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
1 2 2