Из комментариев к вопросу: почему вы делаете
setattr(tmp_bot, attr_dict[attr], tmp_attr)
, а не
setattr(tmp_bot, attr, tmp_attr)
? Я думаю, реальный вопрос в том, почему вы ожидаетеэти две строки печати выводятся одинаково, когда одна обращается к свойству «здоровье вашего бота», а другая - к свойству «здоровье».
Еще один совет: вы должны определить элементы attr_arr как глобальные строки (например, как HEALTH= "здоровье").Таким образом, вы по-прежнему можете их печатать, и нажимать на них, и так далее, но если бы вы случайно где-нибудь набрали HEATH, python пожаловался бы на неопределенный глобал, а не загадочно провалился позже.