Пример реального мира о том, как использовать свойство свойств в Python?

Мне интересно, как использовать @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

Я думаю, функция свойств может быть полезна в некоторых ситуациях. Но когда? Не могли бы вы дать мне несколько реальных примеров?

Спасибо.

133
задан direprobs 12 June 2016 в 11:07
поделиться