打印带有变量的方法时遇到问题。你知道吗
如果我这样做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__())
尝试以下方法:
如果已经有动物列表,只需将上面的for循环替换为:
要使用的另一个方法是重写类的
__str__
方法,以返回上述内容。比如:相关问题 更多 >
编程相关推荐