我有一个关于延迟执行的数据流评估框架的想法。我想我需要元类,但我还不太了解它们。也许你已经有了一个想法,如果下面的工作。在
我想编写普通的程序,仅仅通过从某个元类派生对象,我想引入惰性求值。因此
a=A()
b=B()
c=C(a,b)
d=D(a)
if input()=="c":
print(c.result)
else:
print(d.result)
为了使这个延迟求值(即对于input=“c”只执行A,B,c,而对于input=“d”则只执行A,d),我只想从元类中派生出A,B,c,d。在
我正在考虑更改__new__
,以便它返回一个实际上不执行__init__
的代理对象。只有在属性访问时,它才会执行__init__
并转发所有属性访问。在
此外,这个代理对象应该有一些类方法,可以在实际__init__
-操作实际对象之前预先检查初始化参数是否有效(数据源)。事实上,我希望在不加载对象的情况下打印数据流依赖关系图。在
最后,作为最后一个小补充,我想在我的数据中引入依赖性跟踪。所有对象方法都应该神奇地检查它们的参数,并通过引用所有输入参数来丰富方法的返回结果(如果它是一个“普通类”,我可以在其中设置属性)。通过这种方式,我可以随时跟踪在某些最终数据中起作用的因素。在
你认为这是可能的还是你已经有了一个可能的暗示?尤其是最后一个我不确定的部分。在
您的系统可能基于
__call__
属性。那么你的例子将相当于:通过调用意义评估的行为。但也可以只使用一个方法*lazy_evaluate()*。在
你会发现更具体地说明你的系统会对你有所帮助。写一个功能规范。你的问题不是功能规范。你还没有充分考虑这个问题。在
相关问题 更多 >
编程相关推荐