En PHP se puede crear una variable de referencia, de manera que dos variables con nombre pueden mirar el mismo valor:Crear una referencia a una variable (similar a "= &" de PHP)?
$a = 1;
$b =& $a;
echo $a; // 1
echo $b; // 1
$b = 2;
echo $a; // 2
Busco para lograr algo similar en Python. Específicamente, quiero crear una referencia a la propiedad de un objeto, por ejemplo:
class Foo(object):
@property
def bar(self): return some_calculated_value
foo_instance = Foo()
ref = foo_instance.bar
# so that 'ref' is referencing the bar property on foo, calculated when used.
¿Esto es posible?
Si no usa propiedades, pero usa funciones de método, esto es trivial. De lo contrario, esto es, probablemente, simplemente un error que está por ocurrir. Crear un * alias * crea una ambigüedad intencionalmente difícil de entender y difícil de depurar. ¿Por qué hacer eso con usted o con la gente que intentará mantener esto? ¿Cuál es el caso de uso para una ambigüedad como esta? –
¿Por qué querrías hacer eso? – NullUserException
Simplificación: aliasing 'someproxyobject.aholdingvariableto.anothersubobject.property' to 'foo'. –