Найти - Пользователи
Полная версия: как добавит значение одной переменной к названию другой?
Начало » Python для новичков » как добавит значение одной переменной к названию другой?
1
vr
как добавит значение одной переменной к названию другой?
doza_and
Если возникла такая потребность значит вы что-то не так делаете. Данные это данные код это код. Совершенно разные сущности.

Но если вы знаете что делаете то смотрите eval,format,globals
vr
да теоретически это можно сделать так, но мне кажется должен быть способ попроще, нужно мне это чтобы реализовать многопоточность в программе
 for a in range (10):
    c = 'text'
    b = ('var' + str(a) + ' = ' + '("' + str(c) + '")' )
    exec(b)
doza_and
vr
но мне кажется должен быть способ попроще
Способы попроще приведены в документации.
https://docs.python.org/3/library/concurrent.futures.html
vr
это чтобы реализовать многопоточность в программе
Ну я в документации по многопоточности ни разу не встречал необходимости генерировать переменные с новыми именами.
Ткните меня в пример где так рекомендуют делать.

vr
документации привести не могу ибо самоучка и в основном учусь методом тыка, ну и насколько я понял переменная не привязана к потоку, то есть если 4 потока будут парсить данные в масив с одним названием это приведет в лучшем случае к тому что на выходе в нем будет будет каша, ну или ошибка. Хотя может я ошибаюсь я эту тему начал изучать несколько дней назад).
AD0DE412
vr
ибо самоучка
ну это вас не звеняет ибо энтузист
vr
учусь методом тыка
а то такое бо не эфективно

на сколько я понимаю вам нужно иногда сохранять значения и чтоб к ним можно было обращаться по некоторым признакам (вы почему то выбрали имя переменной) ну так и сохраняйте их в структурах данных типа dict, list
doza_and
AD0DE412
ну так и сохраняйте их в структурах данных типа dict, list
vr
если 4 потока будут парсить данные в масив с одним названием это приведет в лучшем случае к тому что на выходе в нем будет будет каша
Человек правильно понимает что будут проблемы при конкурентном доступе. Только он не понимает что доступ к переменным это тотже доступ к встроенному словарю с локальными переменными. И он получит ровно теже проблемы.

В приведенной ссылке приведен правильный способ получения массива результатов. Синхронизацией потоков занимается библиотека.

p.s. В питоне отсутствие синхронизации редко приводит к ошибкам из за GIL. Построение многопоточной проги методом тыка приведет к тому что она будет то работать то не работать. И вы никогда не сможете ее до конца починить. Те будет не программа а кусок дерьма.
vr
а блин что то я затупил они всё-таки привязаны к потоку и я зря голову ломал 🤯
то есть в 2 потоках вполне могут существовать 2 переменные с именем “а” и они никак не будут друг другу мешать
doza_and
vr
и они никак не будут друг другу мешать
Если это таки вопрос то приведите фрагмент кода, тогда будет ясно.

Обычно проблема не с локальными переменными а с тем как их объединять в общий реультат.
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