Przykład z prawdziwego świata, jak korzystać z funkcji właściwości w Pythonie?

| | | | | | |

Interesuje mnie, jak używać @property w Pythonie. Przeczytałem dokumentację Pythona, a przykład tam, moim zdaniem, to tylko kod zabawki:

class C(object): def __init__(self): self._x = None @ property def x(self): """Jestem"właściwością "x".""" return self._x @x.setter def x(self, value): self._x = value @x.deleter def x( self): del self._x 

Nie wiem, jakie korzyści mogę uzyskać z opakowania _x wypełnionego dekoratorem właściwości. Dlaczego nie po prostu zaimplementować jako:

klasa C(object): def __init__(self): self.x = None 

Myślę, że właściwość może się przydać w niektórych sytuacjach. Ale kiedy? Czy ktoś mógłby mi podać kilka przykładów z życia wziętych?

Dzięki.