Форум сайта python.su
20
Добрый день.
Подскажите, стоит ли использовать подобные связки?
for a in range(1, N): exec("""l_hid{0} = lasagne.layers.DenseLayer( l_hid{1}, num_units={2}, nonlinearity=lasagne.nonlinearities.{3}, W=lasagne.init.Constant(0.5))""".format(a, a-1, b, c))
Отредактировано noob_saibot (Ноя. 15, 2016 07:10:07)
Офлайн
253
noob_saibotда есть - обращаться к словарям описания переменных с использованием locals, globals.
есть альтернатива
Офлайн
3
doza_and
да есть - обращаться к словарям описания переменных с использованием locals, globals.
Офлайн
20
doza_andЯ кажется не то в гугле ищу, будьте любезны киньте в меня ссылкой.
да есть - обращаться к словарям описания переменных с использованием locals, globals.
Офлайн
253
Офлайн
20
doza_andОкей, спрошу по другому, каким образом - словарям описания переменных с использованием locals, globals. - мне поможет решить вопрос с динамическим созданием переменных.
https://docs.python.org/3/library/functions.html#globalshttps://docs.python.org/3/library/functions.html#localshttps://docs.python.org/3/library/stdtypes.html#object.__dict__
Отредактировано noob_saibot (Ноя. 15, 2016 07:40:45)
Офлайн
568
noob_saibotДинамически создавать глобальные переменные не следует! Если вам это понадобилось, значит вы плохо продумали структуру вашей программы. Создавайте (если уж так хочется) атрибуты классов или объектов.
Окей, спрошу по другому, каким образом - словарям описания переменных с использованием locals, globals. - мне поможет решить вопрос с динамическим созданием переменных.
Офлайн
20
FishHookСпасибо понял.
Офлайн
35
? Динамические создадутся x0, x1, etc, или я что-то не понял?
for k in range(10): locals()['x%s' % k] = YourClass(x=getattr(something,'attr%s'%k, alternative_value), y=k)
Офлайн
20
scidamДа, спасибо.
? Динамические создадутся x0, x1, etc, или я что-то не понял?
Офлайн