Почему некоторые cdef доступны, а некоторые нет при доступе к двоичному файлу Cython? - PullRequest
0 голосов
/ 22 февраля 2020

У меня есть класс в pyx-файле:

cdef class Qos:

    cdef object _policies

    def __cinit__(self, policies=[]):
        self._c_qos = dds.dds_qos_create()

    def set_policies(self, policies):
        self._policies[p.id] = p

Когда я импортирую скомпилированный файл * .pyd, я вижу класс Qos.

Это работает:

from dds import Qos
print(dir(Qos))

Я читал, что cdef объекты ed не видны из Python, почему я вижу `Qos?

Что я действительно хотел бы сделать, так это получить доступ к cdef атрибут ed Qos._c_qos или Qos._policies из экземпляров Qos, но они недоступны.

Есть ли разница между этими cdef с? Есть ли настройка, при которой cdef s выставлены, а какие нет?

...