Главная > Статьи > Метод как свойство объекта в Python

Метод как свойство объекта в Python

Всё-таки Python красивый язык. Свойство объекта может быть определено как специальный метод экземпляра объекта. Практически это позволяет обращаться к свойству как по имени, так и с помощью метода (getter или setter, или и то и другое в зависимости от операции). Кроме того, такие обращения к методу позволяют при получении и установке свойств выполнять дополнительные операции, например изменять счётчик обращений к свойству объекта.

  1. class MyClass(object):
  2.    def get_a(self):
  3.       return self._a + 1
  4.    def set_a(self, value):
  5.       self._a = value - 1
  6.    a = property(get_a, set_a, doc="Off by one a")
  7.  
  8. # Python 2.6 style
  9. class MyClass(object):
  10.    @property
  11.    def a(self):
  12.       return self._a + 1
  13.    @a.setter #makes the property writeable
  14.    def a(self, value):
  15.       self._a = value - 1

,

  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.
YandexMail.ruGoogleLiveJournalmyOpenIdFlickrclaimIdBloggerWordpressOpenIDYahooTechnoratiVidoopVerisignAOL