我的数据类有一个字段,其中包含自定义类型的数据数组(实际上它是 PyROOT 标准向量)。但是,对于用户来说,它应该作为列表可见。这对于数据类 getter 和 setter 来说非常简单,它们将向量转换为列表,反之亦然。但是,这仅在用户使用完整列表初始化字段时才有效。如果用户想要追加到列表中,显然它不起作用,因为没有与该字段关联的永久列表。
我想知道是否有办法抑制字段上的“.append()”调用,而是调用向量的 push_back()?或者也许有一个很好的 Pythonic 方式来处理它?
上下文是,我需要 PyROOT 格式的数据类字段,因为稍后我将数据存储在 ROOT TTrees 中。但是,我正在创建这个接口,这样用户就不需要知道 ROOT 来使用数据类。我知道我可以创建包含相同数据的向量和列表,但这似乎浪费内存,而且我不确定每次修改列表时如何更新向量,无论如何。