Sobes.tech
Junior — Middle

Loyihalaringizda ob'ektlarning xususiyatlarini tavsiflash va sozlash usulidan setterlar orqali foydalanib ko'rdingizmi?

sobes.tech AI

AIdan javob

Ha, Python'da obyektlarning atributlariga kirishni nazorat qilish uchun ko'pincha setterlar (va getterlar) bilan xususiyatlar ishlatiladi. Bu qiymat berishda qo'shimcha mantiqni bajarishga imkon beradi, masalan, validatsiya yoki bog'liq ma'lumotlarni yangilash.

Setter bilan xususiyatdan foydalanish misoli:

class Person:
    def __init__(self, age):
        self._age = age

    @property
    def age(self):
        return self._age

    @age.setter
    def age(self, value):
        if value < 0:
            raise ValueError("Yosh manfiy bo'lishi mumkin emas")
        self._age = value

p = Person(25)
p.age = 30  # to'g'ri
# p.age = -5  # xato chiqaradi

Bu yondashuv mantiqni inkapsulyatsiya qilishga va ob'ektning ichki ma'lumotlarini himoya qilishga yordam beradi.