Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 26, 2007 00:41:10

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Особенности объявления class на примере интерфейсов

Пример:
Модуль zope.interface.interface, стр.703 :

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

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

Перефразирую:
IntefaceClass - это класс. При оперции присваивания создается объект - экземпляр класса.
И метаклассам там вроде тоже не пахнет (или я плохо смотрел ?)
Но если вот так возмьмем обычный объект попробуем его затолкать в аргументы для наследования - ничего не получится.
Что нужно сделать такого с объектом-экземпляром класса, чтобы от него можно было наследоваться ?



Отредактировано (Сен. 26, 2007 01:20:13)

Офлайн

#2 Сен. 26, 2007 01:34:21

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Особенности объявления class на примере интерфейсов

стр.703 – это откуда?



Офлайн

#3 Сен. 26, 2007 01:39:37

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Особенности объявления class на примере интерфейсов

bialix
стр.703 – это откуда?
zope/interface/interface.py



Офлайн

#4 Сен. 26, 2007 09:20:16

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Особенности объявления class на примере интерфейсов

astoon
Создали объект далее и его используем…

class _Foo( type ):
    pass
Foo = _Foo(object())
class Bar( Foo ):
    pass
b = Bar()



Отредактировано (Сен. 26, 2007 09:31:17)

Офлайн

#5 Сен. 26, 2007 12:35:09

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Особенности объявления class на примере интерфейсов

astoon
bialix
стр.703 – это откуда?
zope/interface/interface.py
до меня сразу не дошло, что стр. – это строка, а не страница.



Офлайн

#6 Сен. 26, 2007 16:31:03

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Особенности объявления class на примере интерфейсов

Daevaorn, спасибо. Не знал.
Хотя вопрос глубже.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version