Python 3.x 我有两个班(A和B),我';I’我试图使用B中a中的方法。a中的方法只是查找列表中某项的索引:
我有三个类(A、I和B),其中A是从I继承的。我试图使用一个方法,从A中,在B中。A中的方法,只是在列表中查找项的索引。我有: 文件1:Python 3.x 我有两个班(A和B),我';I’我试图使用B中a中的方法。a中的方法只是查找列表中某项的索引:,python-3.x,inheritance,multiple-inheritance,Python 3.x,Inheritance,Multiple Inheritance,我有三个类(A、I和B),其中A是从I继承的。我试图使用一个方法,从A中,在B中。A中的方法,只是在列表中查找项的索引。我有: 文件1: class I: def__init__(self,s): self.s = s class A(I): def __init__(self,n): self.n = n self.lst = [] for i in range(n): self.lst.append([]) ..... de
class I:
def__init__(self,s):
self.s = s
class A(I):
def __init__(self,n):
self.n = n
self.lst = []
for i in range(n):
self.lst.append([])
.....
def get_item_location(self, item):
for index in range(len(self.lst)):
if item in self.lst[index]:
return index
文件2:
from A import classA
class B:
def __init__(self,n):
self._model = A(n)
def something(self, dest_point):
print (self._model.get_item_location(self._item))
其中self.\u项的类型是Class I,现在它为我打印None,我希望它返回列表的索引号,其中该项在列表中,该项在列表中。当我使用get_item_location函数时,它会给我一个整数,但当类B使用它时,它不会返回任何值。我相信这与我自己有关,但我还没有想出任何解决办法。如果有人能帮助我,我将不胜感激。请帮个忙。您的代码中缺少太多内容,我们无法猜测发生了什么。什么是B类的
self.\u model
?它是如何创建的?假设它是一个实例,那么它的内部列表在哪里填充。如何分配self.\u项目
?你是如何测试代码的,以至于你认为classA
可以独立工作?我为自己编辑了代码。类A本身不工作,而类B从A获取这些方法并使用它们。我正在尽力简化这个问题,但似乎不可能!lst中的内部列表由类A中的add方法填充,B使用该方法实现列表中的项。基本上,get_item_location应该返回项目所在列表的索引。假设:lst=[[item,a,b,c],[a],[b],[b],那么get\u item\u location(item)应该返回0。可能您保存为self的对象没有被放入内部列表中,因此没有可以找到它的索引。我们无法解释原因,因为您的问题中不包括保存项目的代码和填充列表的代码。(由于大写类
,您显示的类也给出了语法错误,但即使修复了该问题,它们也没有做任何有用的事情来说明您的问题。)