ตัวแปรคลาสเทียบกับตัวแปรอินสแตนซ์
ตัวแปรทั้งหมดที่อยู่นอกฟังก์ชันคลาส __init__ ใน Python เป็นตัวแปรคลาสในขณะที่ตัวแปรที่อยู่ในตัวเดียวกันคือตัวแปรอินสแตนซ์ ความแตกต่างระหว่างตัวแปรคลาสและตัวแปรอินสแตนซ์นั้นสามารถเข้าใจได้ดีขึ้นโดยการตรวจสอบโค้ดด้านล่าง
ตัวอย่าง
class MyClass: stat_elem = 456 def __init__(self): self.object_elem = 789 c1 = MyClass() c2 = MyClass() # Initial values of both elements >>> print c1.stat_elem, c1.object_elem 456 789 >>> print c2.stat_elem, c2.object_elem 456 789 # Let's try changing the static element MyClass.static_elem = 888 >>> print c1.stat_elem, c1.object_elem 888 789 >>> print c2.stat_elem, c2.object_elem 888 789 # Now, let's try changing the object element c1.object_elem = 777 >>> print c1.stat_elem, c1.object_elem 888 777 >>> print c2.stat_elem, c2.object_elem 888 789