【发布时间】:2021-04-10 13:21:16
【问题描述】:
我有这个代码:
class Pet(object):
def __init__(self,name=""):
self.name = name
self.kind = "Unknown"
self.toys = []
def add_toys(self,toys):
new_list = []
for toy in self.toys:
if toy not in new_list:
new_list.append(toy)
return new_list
def __str__(self):
toys_list = add_toys(self,toys)
if self.toys == []:
return "{} is a {} that has no toys".format(self.name,self.kind)
else:
return "{} is a {} that has the following toys: {}".format(self.name,self.kind,toys_list)
在函数add_toys() 我有返回值new_list。
我想在函数__ str__ 中使用该返回值并将其定义为toys_list。
但是,当我写 toys_list = add_toys(self, toys) 时,它说:
add_toys是一个未定义变量
【问题讨论】:
-
我不完全确定您要达到的目标,但是对于您说“它说 add_toys 是一个未定义的变量。”的错误,我相信您需要
self.add_toys。 -
这能回答你的问题吗? function name is undefined in python class