Декоратор @property.getter в языке Python позволяет создавать свойства (properties) для классов, которые могут быть доступны для чтения (getter) и записи (setter) в виде атрибутов класса, но при этом имеют особую логику, когда их значения запрашивают или изменяют.
@property.getter необходимо объявлять перед методом в классе с атрибутом, который вы хотите сделать доступным как свойство. Он работает как декоратор метода, который определяет геттер для данного атрибута.
Когда вы используете @property.getter, вы создаете метод, который будет вызываться, когда пользователь пытается получить значение данного свойства. Этот метод должен быть без аргументов и должен возвращать значение свойства.
Например, представим класс "Person":
class Person: def __init__(self, name, age): self._name = name self._age = age @property def name(self): return self._name @property def age(self): return self._age
В этом примере мы использовали декоратор @property для установки методов name и age в качестве геттеров для атрибутов _name и _age соответственно.
Теперь, если мы создадим объект класса Person и попытаемся получить его атрибуты name и age как свойства, мы можем это сделать без явного вызова методов:
person = Person('John', 30) print(person.name) # Выведет 'John' print(person.age) # Выведет 30
Таким образом, декоратор @property.getter превращает методы класса в свойства, делая их доступными для чтения, и позволяет обращаться к ним как к атрибутам объекта класса без вызова методов. Это удобно и повышает читаемость кода.