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

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


คลาสเป็นพิมพ์เขียวสำหรับการสร้างวัตถุต่างๆ เมื่อวัตถุถูกสร้างขึ้นเพื่อสร้างคลาส พวกมันจะไม่ขึ้นอยู่กับแอตทริบิวต์ของคลาสอีกต่อไป นอกจากนี้ คลาสไม่สามารถควบคุมแอตทริบิวต์ของอินสแตนซ์ที่สร้างขึ้นได้

ในตัวอย่างด้านล่าง เราจะเห็นว่า MainClass มีแอตทริบิวต์ของคลาสและวัตถุที่สร้างจากคลาสหลักมีค่าแอตทริบิวต์ของตัวเอง การพิมพ์ค่าเหล่านี้ทำให้เรามีความชัดเจน ในท้ายที่สุดคลาสไม่สามารถเข้าถึงค่าของแอตทริบิวต์ของวัตถุได้

ตัวอย่าง

class MainClass(object):  
   class_attr = 'Sun'
   def __init__(self, instance_attr):
      self.instance_attr = instance_attr
if __name__ == '__main__':
   obj1 = MainClass('Mon')
   obj2 = MainClass('Tue')
   # print the instance attributes
   print (obj1.instance_attr)
   print (obj2.instance_attr)
   #print the class attribute using Mainclass
   print(MainClass.class_attr)
   #print the classattribute using objects
   print (obj1.class_attr)
   print (obj2.class_attr)
   #printing instance attribute as a class property gives error
   #print (MainClass.instance_attr)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Mon
Tue
Sun
Sun
Sun