You’d really have to include the ref in the return type of the the property (you’d almost certainly hide this behind a property decorator).
class Example(object):
def __init__(self, initial = (1,2))
self._value = initial
@property
def value(self):
return (self._value, self)
The hard part, from a design point of view. is that the property is assymetrical – you don’t want to allow people to set the owner portion of the value, but you want it returned.
In general, you knew the class instance when you asked for the property, so why not just hang on to the reference there? Or turn the property into a method, so you keep the instance all the time and then call the method only when you want the value?