ทุกคลาสของ Python จะติดตามแอตทริบิวต์ที่มีอยู่แล้วภายในและสามารถเข้าถึงได้โดยใช้ตัวดำเนินการ dot เช่นเดียวกับแอตทริบิวต์อื่น ๆ -
- __dict__ − พจนานุกรมที่มีเนมสเปซของคลาส
- __doc__ − สตริงเอกสารคลาสหรือไม่มี หากไม่ได้กำหนดไว้
- __name__ − ชื่อคลาส
- __module__ − ชื่อโมดูลที่กำหนดคลาส แอตทริบิวต์นี้คือ "__main__" ในโหมดโต้ตอบ
- __bases__ − ทูเพิลว่างที่อาจประกอบด้วยคลาสพื้นฐาน ตามลำดับที่เกิดขึ้นในรายการคลาสฐาน
ตัวอย่าง
สำหรับคลาสข้างต้น ให้เราลองเข้าถึงคุณลักษณะทั้งหมดเหล่านี้ −
#!/usr/bin/python class Employee: 'Common base class for all employees' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total Employee %d" % Employee.empCount def displayEmployee(self): print "Name : ", self.name, ", Salary: ", self.salary print "Employee.__doc__:", Employee.__doc__ print "Employee.__name__:", Employee.__name__ print "Employee.__module__:", Employee.__module__ print "Employee.__bases__:", Employee.__bases__ print "Employee.__dict__:", Employee.__dict__
ผลลัพธ์
เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Employee.__doc__: Common base class for all employees Employee.__name__: Employee Employee.__module__: __main__ Employee.__bases__: () Employee.__dict__: {'__module__': '__main__', 'displayCount': <function displayCount at 0xb7c84994>, 'empCount': 2, 'displayEmployee': <function displayEmployee at 0xb7c8441c>, '__doc__': 'Common base class for all employees', '__init__': <function __init__ at 0xb7c846bc>}