我需要在另一个实例中修改C
实例的非公开属性。
cdef class C:
cdef C superC
cdef MakeToSuper(self, C other):
other.superC = C
protected
可能会在C中做到这一点,但我怎样才能在Cython
中实现这一目标?
答案 0 :(得分:0)
你有没有尝试过?
_
对于“请勿触摸它”的消息(好吧,只有python程序员会理解它,但它总比没有好。)
还有
__
双下划线就像Python中的“私有”(但如果使用正确的Python机制,仍然可以访问)。
转到__(双下划线),并使用一些python魔法在其他类的实例中访问它。它仍然可以通过任何其他python代码中的相同魔法访问,但是每个知道如何绕过它的人都知道它是有原因的。