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