python方法的参数个数问题,帮我看下这个错误

机器学习之禅 2014-04-21 05:11:53
请帮我看下,在java中调用的python代码
这个方法定义,在类CrawlerClient.java
public boolean checkElementExists(ElementLocator elementLocator){
return getElement(elementLocator)==null?false:true;
}
我在python中调用,加载了头
from com.ifeng.webCrawler.crawler import CrawlerClient,CrawlerProperties
然后BaseElementLocator是ElementLocator的子类
baseElementLocator=BaseElementLocator()
下面这句调用了那个方法
res=CrawlerClient.checkElementExists(baseElementLocator)
可是结果

ERROR crawler - execute python error
Traceback (most recent call last):
File "<iostream>", line 122, in <module>
File "<iostream>", line 26, in extract
TypeError: checkElementExists(): expected 2 args; got 1
意思是需要两个参数,我只给了一个?可是这个定义只有一个参数啊,这是怎么回事
...全文
248 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
angel_su 2014-04-23
  • 打赏
  • 举报
回复
调用的地方写上this/self没意义会报错吧,必须写上代表实例那个名称...
机器学习之禅 2014-04-23
  • 打赏
  • 举报
回复
引用 6 楼 angel_su 的回复:
调用的地方写上this/self没意义会报错吧,必须写上代表实例那个名称...
soda
angel_su 2014-04-22
  • 打赏
  • 举报
回复
不一定完全匹配原来语言写的,猜测可能封装成一个类,需要透过实例调用,看看文档、源码或者简单help一下...
机器学习之禅 2014-04-22
  • 打赏
  • 举报
回复
引用 3 楼 angel_su 的回复:
类名调用的话,代码里要显示写入第一个参数,实例调用则本身自动化成第一参数...
可是我用类名调用,写上参数this 或者self,还是不行 用实例的时候直接就可以了
stjackin 2014-04-22
  • 打赏
  • 举报
回复
引用 3 楼 angel_su 的回复:
类名调用的话,代码里要显示写入第一个参数,实例调用则本身自动化成第一参数...
对,类名调用的话,其实就是要把self作为参数写进去的。当然实例调用的话,self就是实例本身不用再当做参数了
angel_su 2014-04-22
  • 打赏
  • 举报
回复
类名调用的话,代码里要显示写入第一个参数,实例调用则本身自动化成第一参数...
机器学习之禅 2014-04-22
  • 打赏
  • 举报
回复
引用 1 楼 angel_su 的回复:
不一定完全匹配原来语言写的,猜测可能封装成一个类,需要透过实例调用,看看文档、源码或者简单help一下...
谢谢,我想问一下,为什么用实例调用可以,用类名调用就不行呢

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧