Class Attribute คือ Attribute ของคลาส ไใช่ Attribute ของ Instance
ในโค้ดด้านล่าง class_var เป็น Class Attribute ส่วน i_var เป็น Instance Attribute: ทุก Instance เข้าถึง class_var ได้ ซึ่งเข้าถึงเป็น Property ของคลาสโดยตรงก็ได้
ตัวอย่าง
class MyClass(object):
class_var = 2
def __init__(self, i_var):
self.i_var = i_var
foo = MyClass(3)
baz = MyClass(4)
print(foo.class_var, foo.i_var)
print(baz.class_var, baz.i_var)
ผลลัพธ์
(2, 3) (2, 4)
ทั้งสอง Instance แชร์ class_var เดียวกัน (ค่า 2) แต่มี i_var ต่างกัน