Найти - Пользователи
Полная версия: Особенности объявления class на примере интерфейсов
Начало » Python для экспертов » Особенности объявления class на примере интерфейсов
1
astoon
Пример:
Модуль zope.interface.interface, стр.703 :
Interface = InterfaceClass("Interface", __module__ = 'zope.interface')
То бишь interface.Interface - это суть экземпляр класса InterfaceClass.
Это что за чудовище мы тогда передаем как аргумент при объявлении интерфейсов ?

Раз Питон при этом не ругается и создает, как и требуется, интерфейс, вопрос:
что вообще можно передавать как аргумент при объявлении class ?
я имею ввиду, принципиально - ведь Питон проверяет, что мы туда передаем.

Перефразирую:
IntefaceClass - это класс. При оперции присваивания создается объект - экземпляр класса.
И метаклассам там вроде тоже не пахнет (или я плохо смотрел ?)
Но если вот так возмьмем обычный объект попробуем его затолкать в аргументы для наследования - ничего не получится.
Что нужно сделать такого с объектом-экземпляром класса, чтобы от него можно было наследоваться ?
bialix
стр.703 – это откуда?
astoon
bialix
стр.703 – это откуда?
zope/interface/interface.py
Александр Кошелев
astoon
Создали объект далее и его используем…
class _Foo( type ):
    pass
Foo = _Foo(object())
class Bar( Foo ):
    pass
b = Bar()
bialix
astoon
bialix
стр.703 – это откуда?
zope/interface/interface.py
до меня сразу не дошло, что стр. – это строка, а не страница.
astoon
Daevaorn, спасибо. Не знал.
Хотя вопрос глубже.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB