Django: Как преобразовать строку и int в переменную

Я объявил переменную как "

".
a1 = 10

Теперь в функции мне нужно вызвать эту переменную, добавив "a "+"1". Однако в результате получается a1 в строке, а не выше объявленной переменной.

Вот код:

a1 = 10
b = "a"+"1"
print(b)
a1

Когда я печатаю b, ответ a1, а не 10. Как я могу изменить этот конкатенат в объявленной переменной?

Утверждение b = 'a'+'1' означает, что ваша новая переменная b является строкой:

>>> b = ['a1']

Если вы заинтересованы в печати a1, вам достаточно сделать следующее:

print(a1)

Суммирование букв объявленной переменной не приводит к появлению самой переменной.

если я понимаю, вы хотите динамически создавать имя переменной и обращаться к ней : Вы можете использовать dict для этого, я думаю

a1, a2, a3 = 10, 11, 12
var_dict = {'a1': a1, 'a2': a2, 'a3': a3}

for i in [1, 2, 3]:
    print(var_dict[f"a{i}"])  # f"a{i}" => 'a1', 'a2', 'a3' according to i value

Вы можете использовать встроенную функцию python eval для таких требований, как показано ниже :-

>> a1 = 10
>> b = "a"+"1"
>> print(eval(b))
>> 10
Вернуться на верх