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__
为创建一个新视图,该视图记住自己是两个子视图的组合,&
并在计算时应用于它们。但是似乎有相当多的逻辑运算符,所以我不确定我是否做对了。
是否有一个标准库类可以帮助我解决这个问题?如何简化流程?