Attribute mapping with a Python property
<p>Is there a way to make a Python <code>@property</code> act as a setter and getter all at once?</p>

<p>I feel like I've seen this somewhere before but can't remember and can't recreate the solution myself.</p>

<p>For example, instead of:</p>

<pre><code>class A(object):
  def __init__(self, b): self.b = b
  def get_c(self): return self.b.c
  def set_c(self, value): self.b.c = value
  c = property(get_c, set_c)
</code></pre>

<p>we could somehow signal that for <code>A</code> objects, the <code>c</code> attribute is really equivalent to <code>b.c</code> for getter, setter (and deleter if we like).</p>

<h2>Motivation:</h2>

<p>This would be particularly useful when we need <code>A</code> to be a proxy wrapper around <code>B</code> objects (of which <code>b</code> is an instance) but share only the data attributes and no methods. Properties such as these would allow the <code>A</code> and <code>B</code> objects' data to stay completely in sync while both are used by the same code.</p>
