我正在进行Round-Robbin算法的模拟,下面列出的代码给出了错误
RR.Przesuniecie[Oczekujace_procesy]
TypeError: 'instancemethod' object is unsubscriptable
这段代码:
class RR:
def Przesuniecie(self, Lista):
if(len(Lista) < 2):
return Lista
else:
head = Lista[0]
for i in range(1, len(Lista)):
Lista[i-1] = Lista[i]
Lista[-1] = head
return Lista
def Symulacja(self, n ,kwant):
Oczekujace_procesy = []
[....]
if(timer == kwant):
RR.Przesuniecie[Oczekujace_procesy]
我不知道它为什么会给我错误。列表中只有一段代码Oczekujace_procesy
我正在做一些操作。
答案 0 :(得分:3)
在您的方法def Symulacja(self, n ,kwant):
中,您错误地访问Przesuniecie
RR.Przesuniecie[Oczekujace_procesy]
。 Przesuniecie
恰好是一个实例方法,not a class method,所以它不是那么容易访问的。
您可以在Difference between Class and Instance methods中了解两者之间的差异。
相反,请将其作为self.Przesuniecie(Oczekujace_procesy)
答案 1 :(得分:1)
标点符号很重要。
self.Przesuniecie(Oczekujace_procesy)