我有一个带有两个A和B类的Python文件,我从类A继承temp到B.在我的类A函数temp中,我从一个XML文件获取id值,该文件的值如下所示: / p>
[1,2,3,4,5]
具有临时功能的我的A级
class A:
def temp(self):
id = []
for child in root:
temp_id=child.get('id')
id.append(temp_id)
return id
我正在获取B类中的函数值
class B (A):
fun=A
value = fun.temp()
for x in value:
return x
在打印返回值而不是打印所有值时,我只得到第一个值
[1,1,1,1,1]
有人可以告诉我如何解决这个问题,谢谢。
答案 0 :(得分:2)
标准函数只能返回单个值。之后,继续执行该函数的调用。所以,你试图循环遍历所有的值,但是在看到第一个值时返回,然后函数退出并且循环被破坏。
在您的情况下,您可以简单地return fun.temp()
。或者,如果要处理每个值,然后返回新列表,则可以运行类似:
new_list = []
value = fun.temp()
for x in value:
# do something with x here
new_list.append(x)
return new_list
此外,您似乎对继承如何工作有点困惑。如果你想看看,DigitalOcean有一个great article on it。