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

แอตทริบิวต์คลาสในตัวใน Python


ทุกคลาสของ 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>}