دادهای که به یک شیء خاص تعلق دارد و معمولاً در __init__ با self ساخته میشود.
class Account:
bank = "ملی" # ویژگی کلاسی: مشترک همهٔ نمونهها
def __init__(self, owner):
self.owner = owner # ویژگی نمونهای
self.balance = 0.0 # ویژگی نمونهای
a = Account("علی")
b = Account("سارا")
a.balance = 100
print(b.balance) # 0.0 — مستقل
print(a.bank) # ملی — از کلاس میآید
ویژگی کلاسی برای ثابتهای مشترک (نام بانک، نرخ پیشفرض) است؛ اگر از طریق نمونه به آن انتساب کنی، سایهای نمونهای میسازی و مقدار کلاس عوض نمیشود — دام کلاسیک امتحان.
اشتباه رایج
تغییر ویژگی از روی یک نمونه، همان ویژگی را برای همه عوض میکند.
تصحیح
خواندن از نمونه به کلاس میرسد، ولی انتساب روی نمونه فقط همان نمونه را عوض میکند. برای تغییر واقعیِ مشترک باید روی خودِ کلاس بنویسی.