Мне интересно, как использовать @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
Я думаю, функция свойств может быть полезна в некоторых ситуациях. Но когда? Не могли бы вы дать мне несколько реальных примеров?
Спасибо.