Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 10, 2009 09:14:08

VadimHacker
От:
Зарегистрирован: 2009-02-08
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать экземпляр класса зная его тип?

Допустим у меня есть процедура принимающая в виду аргумента тип объекта
def createInstance(objectType):

для примера
ins = createInstance(Models.MyModel)
Как мне создать экземпляр и передать в конструктор параметры.



Офлайн

#2 Дек. 10, 2009 09:45:28

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать экземпляр класса зная его тип?

def createInstance(objectType):
obj = objectType(par1, par2)



Офлайн

#3 Дек. 10, 2009 10:13:29

VadimHacker
От:
Зарегистрирован: 2009-02-08
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать экземпляр класса зная его тип?

Потрясающе!
Тогда можно еще схожий вопрос? А если тип объекта задать строкой “Models.MyModel”? Мне на ум приходит только eval()…



Офлайн

#4 Дек. 10, 2009 11:04:49

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать экземпляр класса зная его тип?

locals()
globals()



Офлайн

#5 Дек. 11, 2009 20:38:51

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать экземпляр класса зная его тип?

Dimka665
locals()
globals()
чем это лучше eval/exec?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version