View 是Python 3的有用构造。对于那些从未注意到的人(比如我):对于d您可以编写的字典k = d.keys(),即使您更新d变量k仍会为您提供更新后的键。你可以写k1 & k2,它会永远给你d1.keys() & d2.keys()
我想为我的个人待办事项管理器实现这个,但我想让复杂的视图动态化,或者懒惰地评估。也就是说,我有一些名为 的视图so,post并且priority我希望能够编写:
now = so | phone & priority
这样以后,当__repr__(now)调用 时,仅在该点执行评估。
我的第一个想法是重载逻辑运算符,因此我更改View.__and__为创建一个新视图,该视图记住自己是两个子视图的组合,&并在计算时应用于它们。但是似乎有相当多的逻辑运算符,所以我不确定我是否做对了。
是否有一个标准库类可以帮助我解决这个问题?如何简化流程?