#8172: how does one use a property?

This commit is contained in:
Georg Brandl 2010-08-02 19:23:34 +00:00
parent 353ebce2a0
commit 7528b9b8ac
1 changed files with 4 additions and 1 deletions

View File

@ -847,7 +847,7 @@ are always available. They are listed here in alphabetical order.
*fget* is a function for getting an attribute value, likewise *fset* is a
function for setting, and *fdel* a function for del'ing, an attribute. Typical
use is to define a managed attribute x::
use is to define a managed attribute ``x``::
class C(object):
def __init__(self):
@ -861,6 +861,9 @@ are always available. They are listed here in alphabetical order.
del self._x
x = property(getx, setx, delx, "I'm the 'x' property.")
If then *c* is an instance of *C*, ``c.x`` will invoke the getter,
``c.x = value`` will invoke the setter and ``del c.x`` the deleter.
If given, *doc* will be the docstring of the property attribute. Otherwise, the
property will copy *fget*'s docstring (if it exists). This makes it possible to
create read-only properties easily using :func:`property` as a :term:`decorator`::