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