甚至可能吗?
这个想法是我想要一个特殊的变量,在分配或获取它的值时进行一些处理。我还希望它看起来像一个常规变量,所以点符号在这里是个问题。
我知道这不是很明确,但这就是我尝试复制Oz-esque Dataflow Variables所需要的。
如果类似这些风格的数据流变量已经在 python 库中实现,请告诉我。
例子:
class Promise(object):
def __init__(self):
self._value = 'defalt_value'
@property
def value(self):
#some processing/logic here
return self._value
@value.setter
def value(self, value):
#some processing/logic here
self._value = value
my_promise_obj = Promise()
my_promise = my_promise_obj.value
my_promise = 'Please, set my_promise_obj.value to this string'
print ('Object`s Value: ' + my_promise_obj.value)
print ('My Variable`s value: ' + my_promise)
print ('Has I changed the class attr?: ' + str(my_promise == my_promise_obj))