Функция property в Python отличается от обычного метода класса тем, что она обеспечивает промежуточный функционал между атрибутом и методом. 3
Обычный метод класса может менять состояние самого класса, что отражается на всех экземплярах данного класса. 1 Такие методы привязаны только к области видимости и не могут менять конкретный объект класса. 1
Функция property позволяет создавать управляемые атрибуты (свойства). 23 С их помощью можно изменять реализацию атрибутов экземпляра без изменения общедоступного API класса. 23
Другими словами, property позволяет создавать методы, которые ведут себя как атрибуты, и автоматически вызывают базовый набор методов. 2