python — класс Unpickling с множественным наследованием (частично наследуется от класса c ++ в оболочке pybind11)

Я использую классы для перебора (простой) и разборки, которые происходят от 2 родителей: 1 класса только для Python (который предоставляет некоторые дополнительные леса) и класса c ++ в оболочке pybind11.

Так как мне нужно сделать некоторые приготовления перед __setstate__ называется (расстойка обхода __init__), Я должен переопределить __new__ производного класса. Как мне это сделать, в частности, какой базовый класс? __new__ должен быть вызван?

class Derived(CxxBase,PyBase):
@staticmethod
def __new__(klass):
# will this call __new__ from CxxBase or PyBase?
# and which one should be called?
instance=super(Derived,klass).__new__(klass)
# define some attributes dynamically, and so on
instance.attribute='foo'

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]