Python len(数组)从解释器工作,在函数内调用时失败

Python len(数组)从解释器工作,在函数内调用时失败,python,jython,Python,Jython,我有一个简单的函数,当我在Jython解释器中手动输入它时,它可以工作,但是当我尝试将代码作为函数运行时,对len()的调用失败 def calculateChecksum(self, command): sum = 0 for b in range(len(command)): sum = sum + command[b-1] mod = sum % 64 checkbyte = mod & (0xFF)

我有一个简单的函数,当我在Jython解释器中手动输入它时,它可以工作,但是当我尝试将代码作为函数运行时,对len()的调用失败

 def calculateChecksum(self, command):
      sum = 0
      for b in range(len(command)):
        sum = sum + command[b-1]
      mod =  sum % 64
      checkbyte = mod & (0xFF)
      checksum = checkbyte | 0x80
where command是一个字节的jarray.array(为什么我不使用内置数组类型?我问你:这有关系吗?jarray.array适用于其他所有功能,并且在某些情况下显然有效,请参见下文)

>>测试阵列
数组([55,57,51],字节)
>>>len(testarray)
3.
>>>阶段。计算阶段(阶段,测试区)
回溯(最里面的最后一个):
文件“”,第1行,是否在中?
文件“…py”,第75行,在calculateChecksum中
属性错误:\ n__

所以我认为可以肯定地说,这个数组实现了len(),但我不知道为什么这似乎并不总是正确的。知道这里发生了什么吗?

像这样调用该方法:

stage.calculateChecksum(testarray)

请注意,对于
self
参数,您不必显式地传递
stage
,该参数是在对象上调用方法时隐式传递的(
stage
),您不需要添加
self
变量。Python为您添加了它

stage.calculateChecksum(testarray)