TypeError:'instancemethod'对象是unsubscriptable

时间:2014-11-10 03:18:35

标签: python python-2.7

我正在进行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我正在做一些操作。

2 个答案:

答案 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)