Theme
Primary Color

حساب خاصية عند قراءتها بإستخدام property

ال property بتخليك تقرأ نتيجة دالة كأنها خاصية عادية في الكائن

حساب السعر الإجمالي

الخاصية بتحسب النتيجة من القيم الحالية وقت القراءة

class Order:
    def __init__(self, price, quantity):
        self.price = price
        self.quantity = quantity

    @property
    def total(self):
        return self.price * self.quantity

order = Order(10, 3)
print(order.total)
order.quantity = 5
print(order.total)

النتيجة

30
50

إنشاء خاصية للقراءة فقط

من غير setter مينفعش تسند قيمة للخاصية مباشرة

class Circle:
    @property
    def shape(self):
        return "Circle"

circle = Circle()
try:
    circle.shape = "Square"
except AttributeError:
    print("Read Only")

النتيجة

Read Only
python شرح