今天在使用jython的时候发现了一个这样的错误,可能我对python不熟悉的缘故!
python代码是这样的:
import sys
from test import Handle
from test import ITask
class Task(ITask):
def work():
i=10000000
while (i>0):
i=i-1
ITask.java:
public interface ITask {
public void work();
}
看上去好像没有什么问题,就是实现接口方法.结果调用的时候出现了这个错误信息:
TypeError: work() too many arguments; expected 0 got 1
搞了半天都不清楚是怎么回事,只好在网上搜索了!后来终于找到一篇文章:
http://aspn.activestate.com/ASPN/Mail/Message/Jython-users/2236297
其中有这样的语句话:
Member functions should always have at least one argument - self. If you
omit the 'self' argument that will cause the error you are getting.
大概意思是说函授的参数列表中必须有一个参数--self,如果省略了就会报错!
然后我修改了下代码:
class Task(ITask):
def work(self):#就是在这里添加
i=10000000
while (i>0):
i=i-1
哈哈,这样就成功了!
分享到:
相关推荐
jython官方正版资源 为了省去大家找Jython安装包的时间,附上此Jython版本。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。
Jython 是一种完全用 Java 语言编写的 Python 实现。它允许 Python 脚本语言无缝地调用 Java 类库,同时为 Java 开发人员提供了一个快速的 Python 语言的解释器。本篇学习资料主要涉及 Jython 的内置模块,这些模块...
如果windows的用户安装插件有问题的,尝试一下换这个jython: Jython官网: https://www.jython.org/downloads.html Jython环境安装包: ...
Jython jar包,为java语言开发的python程序包,可适用Jmeter中支持python等。
Jython-Burp-API是一款使用Jython, Java和Python编写的Burp Suite插件,Jython-Burp-API为 Burp Suite 提供了一个Jython接口,使得你可以用python语言为Burp Suite编写扩展和控制Burp Suite。 出处:BugZone ...