【发布时间】:2016-03-30 13:14:59
【问题描述】:
我正在用 C 语言编写一个 python 模块,它提供了一个类,包装了一个 C API。 C API 有一些基本的访问器方法,我想在 python 类中作为属性呈现。例如,假设我有:
int libspam_get_eggs(spam_t *spam, int *eggs);
int libspam_set_eggs(spam_t *spam, int eggs);
我知道如何创建一个类 CSpam 并向它添加 get_eggs() 和 set_eggs() 方法,但我想将鸡蛋作为一个属性来呈现。为了解决这个问题,我可以在对象周围放置一个 python 包装器:
class Spam(CSpam):
eggs = property(CSpam.get_eggs, CSpam.set_eggs)
但如果可能的话,我想在 C API 中做所有事情。有没有办法做到这一点?
【问题讨论】:
标签: python python-c-api