Cython,受保护的属性

时间:2011-08-09 15:50:52

标签: attributes protected cython

我需要在另一个实例中修改C实例的非公开属性。

cdef class C:
    cdef C superC

    cdef MakeToSuper(self, C other):
        other.superC    = C

protected可能会在C中做到这一点,但我怎样才能在Cython中实现这一目标?

1 个答案:

答案 0 :(得分:0)

你有没有尝试过?

_

对于“请勿触摸它”的消息(好吧,只有python程序员会理解它,但它总比没有好。)

还有

__

双下划线就像Python中的“私有”(但如果使用正确的Python机制,仍然可以访问)。

转到__(双下划线),并使用一些python魔法在其他类的实例中访问它。它仍然可以通过任何其他python代码中的相同魔法访问,但是每个知道如何绕过它的人都知道它是有原因的。