Модуль zope.interface.interface, стр.703 :
Interface = InterfaceClass("Interface", __module__ = 'zope.interface')
Это что за чудовище мы тогда передаем как аргумент при объявлении интерфейсов ?
Раз Питон при этом не ругается и создает, как и требуется, интерфейс, вопрос:
что вообще можно передавать как аргумент при объявлении class ?
я имею ввиду, принципиально - ведь Питон проверяет, что мы туда передаем.
Перефразирую:
IntefaceClass - это класс. При оперции присваивания создается объект - экземпляр класса.
И метаклассам там вроде тоже не пахнет (или я плохо смотрел ?)
Но если вот так возмьмем обычный объект попробуем его затолкать в аргументы для наследования - ничего не получится.
Что нужно сделать такого с объектом-экземпляром класса, чтобы от него можно было наследоваться ?