У меня возникла проблема с печатью метода с переменной.Python - Метод печати с использованием переменных
Если у меня print (pet.__str__())
, он работает должным образом. Однако я пытаюсь выполнить цикл с использованием переменных, чтобы заменить «pet» на переменную. Затем я назначаю его переменной и пытаюсь ее распечатать. Когда я печатаю его, он буквально печатает строку pet.__str__()
вместо вызова метода. Я не уверен, что я делаю неправильно. Вот общий обзор моего кода. Благодаря
pet = Pet('Taz')
my_list = ["pet", "dog", "big_dog", "small_dog"]
my_string = ["animal_variable.__str__()", "animal_variable.kind", "animal_variable.color", "animal_variable.do_tricks()"]
sentence1 = []
sentence1 = my_string[0]
print (sentence1) #DEBUGGING*****************************************
print (sentence1.replace('animal_variable', my_list[0]))
print (type(sentence1))
*** ЗДЕСЬ РЕЗУЛьТАТ ПОЛУЧИТЬ *******
animal_variable.__str__()
pet.__str__(),
class 'str'
*** Если бы я это сделать это работает, как ожидалось, однако это не позволяет мне Перебери различные переменные в моем списке
print (pet.__str__())
'pet' уже является переменной - какая другая переменная вы используете? – furas
BTW: вместо 'pet .__ str __()' вы должны использовать 'str (pet)' - это предпочтительный метод. – furas
Вы пытаетесь 'eval' строку, чтобы получить переменные? –