Мне интересно, как использовать @property
в Python. Я прочитал документы python, и пример там, на мой взгляд, является просто игрушечным кодом:
class C(object):
def __init__(self):
self._x = None
@property
def x(self):
"""I'm the 'x' property."""
return self._x
@x.setter
def x(self, value):
self._x = value
@x.deleter
def x(self):
del self._x
Я не знаю, какую выгоду я получу от упаковки _x
, заполненной декоратором свойств. Почему бы просто не реализовать:
class C(object):
def __init__(self):
self.x = None
Я думаю, функция свойств может быть полезна в некоторых ситуациях. Но когда? Может кто-нибудь, пожалуйста, дайте мне примеры из реального мира?
Спасибо.