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