视图是Python 3的有用结构。对于那些从未注意到的人(比如我):对于字典d
,你可以编写k = d.keys()
,即使你更新了d
,变量k
仍然会给你更新的键。你可以写k1 & k2
,它总是给你d1.keys() & d2.keys()
我想为我的个人todo管理器实现这一点,但我想使复杂视图动态,或延迟评估。也就是说,我有一些叫做so
、post
和priority
的视图,我希望能够编写:
now = so | phone & priority
因此,稍后,当调用__repr__(now)
时,仅在该点执行求值。你知道吗
我的第一个想法是重载逻辑运算符,因此我更改了View.__and__
以创建一个新视图,该视图记住自己是两个子视图的组合,并在计算时对它们应用&
。但是似乎有很多逻辑运算符,所以我不确定我做的是否正确。你知道吗
有没有一个标准的图书馆课程可以帮助我?如何简化流程?你知道吗
嗯,有一个集合.用户列表类定义了它们中的大多数,这可能意味着您不必重写所有这些。你知道吗
要做到这一点没有“简单”的方法,尤其是如果你想要像上面所说的那样的懒惰行为。但是,逻辑运算符并不多,只有三个:
__and__
、__or__
和__xor__
。你知道吗(为了提高效率,您可以选择实现本地版本
__iand__
、__ior__
和__ixor__
,但如果不实现,则将调用普通版本作为回退)相关问题 更多 >
编程相关推荐