متغیرهای کلاس در پایتون: توضیح جامع با مثال
در برنامهنویسی شیءگرا با پایتون، دو نوع متغیر داریم:
- متغیرهای کلاسی (Class Variables): این متغیرها متعلق به کلاس هستند و برای همه اشیاء (instances) ساخته شده از آن کلاس مشترک هستند.
- متغیرهای نمونه (Instance Variables): این متغیرها متعلق به هر شیء به طور جداگانه هستند و هر شیء میتواند مقدار منحصر به فرد خود را برای آن داشته باشد.
مثال:
Python
class Car:
# متغیر کلاسی
make = "Toyota"
def __init__(self, model, year):
# متغیر نمونه
self.model = model
self.year = year
car1 = Car("Camry", ۲۰۲۳)
car2 = Car("Corolla", ۲۰۲۲)
print(car1.make) # Toyota
print(car2.make) # Toyota
print(car1.model) # Camry
print(car2.model) # Corolla
# تغییر متغیر نمونه
car1.model = "RAV4"
print(car1.model) # RAV4
print(car2.model) # Corolla
نکات کلیدی:
- متغیرهای کلاسی با نام کلاس و نقطه (.) قابل دسترسی هستند.
- متغیرهای نمونه با نام شیء و نقطه (.) قابل دسترسی هستند.
- اگر متغیری با نام یکسان در سطح کلاس و سطح نمونه تعریف شود، متغیر نمونه اولویت دارد.
- برای تغییر مقدار متغیر کلاسی برای همه اشیاء، باید از نام کلاس و نقطه (.) استفاده کنید.
کاربردهای متغیرهای کلاسی:
- ذخیره اطلاعات مشترک بین همه اشیاء
- تعریف تنظیمات پیشفرض برای اشیاء
- اشتراکگذاری دادهها بین اشیاء
مثال:
Python
class Animal:
# متغیر کلاسی
species = "mammal"
def __init__(self, name):
self.name = name
dog = Animal("Rex")
cat = Animal("Whiskers")
print(dog.species) # mammal
print(cat.species) # mammal
در این مثال، متغیر species
برای همه اشیاء کلاس Animal
مقدار mammal
را دارد.