Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 1, 2015 09:05:51

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

конструктор объекта по умолчанию.

Предположим что делаю скрипт систему для предметной области. Большинство новых переменных должно быть известного типа. Как вам такая конструкция

def some_object_factory():
     ....
with default_constructor as some_object_factory:
     a=[b,c]+d
При этом предполагается что. например, b,d не доступны в локальной области видомости но возникает не exception а выполняется конструктор по умолчанию .

Идея в том чтобы сэкономить на объявлении переменных.

Вот в sympy Например приходится начинать со строк
a,b,c,d=sympy.symbol("a,b,c,d")
и добавлять объявления по мере необходимости, что конечно не очень удобно.
И такая ситуация во многих прикладных скриптах.

Знатоки может без изменения ядра можно повесить такой хук?



Отредактировано doza_and (Апрель 1, 2015 09:08:05)

Офлайн

#2 Апрель 1, 2015 09:29:04

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

конструктор объекта по умолчанию.

нереально, только так

with default_constructor as f:
    f.a = [f.b, f.c] + f.d



Офлайн

#3 Апрель 1, 2015 16:12:47

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

конструктор объекта по умолчанию.

doza_and
а если создать свой класс наследованный от dict и переопределить в нем __getitem__?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version