考虑C函数int get_events()
,它返回以下事件的位掩码:
#define EVENT_KEY_DOWN 1
#define EVENT_KEY_UP 2
#define EVENT_KEY_PRESS 4
例如,它可能会返回5
,意味着触发了EVENT_KEY_DOWN
和EVENT_KEY_PRESS
。
我考虑了以下方法将函数中的值返回到Python代码:
5
(1, 4)
('EVENT_KEY_DOWN', 'EVENT_KEY_PRESS')
(在所有情况下,我都可以声明常量,如mymodule.EVENT_KEY_DOWN
和mymodule.EVENT_KEY_PRESS
。)
有“推荐”方式吗?
答案 0 :(得分:0)
Sparse is better than dense; readability counts。我按照这个逻辑选择字符串元组,但也要看看你将如何使用API的模式。例如,如果您处于性能关键代码路径中,则应考虑将其保留为位掩码。