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

Class Attributes และ Instance Attributes ใน Python

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

ตัวอย่าง MainClass มี class attribute และอ็อบเจกต์ที่สร้างจากมันมี instance attribute ของตัวเอง

โค้ดตัวอย่าง

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')
    # พิมพ์ instance attributes
    print(obj1.instance_attr)
    print(obj2.instance_attr)
    # พิมพ์ class attribute ผ่าน MainClass
    print(MainClass.class_attr)
    # พิมพ์ class attribute ผ่านอ็อบเจกต์
    print(obj1.class_attr)
    print(obj2.class_attr)
    # พิมพ์ instance attribute ผ่านคลาสจะ error
    # print(MainClass.instance_attr)

ผลลัพธ์

Mon
Tue
Sun
Sun
Sun