实现动态视图的简单方法?

2024-04-25 23:34:49 发布

您现在位置:Python中文网/ 问答频道 /正文

视图是Python 3的有用结构。对于那些从未注意到的人(比如我):对于字典d,你可以编写k = d.keys(),即使你更新了d,变量k仍然会给你更新的键。你可以写k1 & k2,它总是给你d1.keys() & d2.keys()

我想为我的个人todo管理器实现这一点,但我想使复杂视图动态,或延迟评估。也就是说,我有一些叫做sopostpriority的视图,我希望能够编写:

    now = so | phone & priority

因此,稍后,当调用__repr__(now)时,仅在点执行求值。你知道吗

我的第一个想法是重载逻辑运算符,因此我更改了View.__and__以创建一个新视图,该视图记住自己是两个子视图的组合,并在计算时对它们应用&。但是似乎有很多逻辑运算符,所以我不确定我做的是否正确。你知道吗

有没有一个标准的图书馆课程可以帮助我?如何简化流程?你知道吗


Tags: 视图管理器字典so运算符k2k1逻辑
2条回答

嗯,有一个集合.用户列表类定义了它们中的大多数,这可能意味着您不必重写所有这些。你知道吗

要做到这一点没有“简单”的方法,尤其是如果你想要像上面所说的那样的懒惰行为。但是,逻辑运算符并不多,只有三个:__and____or____xor__。你知道吗

(为了提高效率,您可以选择实现本地版本__iand____ior____ixor__,但如果不实现,则将调用普通版本作为回退)

相关问题 更多 >

    热门问题