python方法的参数个数问题

请帮我看下,在java中调用的python代码这个方法定义,在类CrawlerClient.javapublicbooleancheckElementExists(Ele... 请帮我看下,在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
意思是需要两个参数,我只给了一个?可是这个定义只有一个参数啊,这是怎么回事
展开
 我来答
匿名用户
推荐于2018-04-05
展开全部
  Python中函数的参数传递问题,函数参数的传递往往是一个难以理解的概念,一个经典的例子如下所示:
  int swap(int a,int b)
  {
  int temp;
  temp = a;
  a = b;
  b = temp;

  return 0;
  }

  int a = 10,b = 20;
  printf("Before Swap a = %d, b = %d\n",a,b);
  swap(a,b);
  printf("After Swap a= %d,b = %d\n",a,b);
  参数是采用值传递的形式,存在形参与实参的区别,也就是将实参的值复制给形参,在函数内部操作的都只是形参的内容,并不改变实参的值,所以变量在操作过后并没有发生改变。
  参数传递过程中存在两个规则:
  1、通过引用将参数复制到局部作用域的对象中,意味着被用来访问函数参数的变量于提高给函数的对象无关,因为存在一个复制问题,这和C语言是相同的。而且修改局部对象不会改变原始数据。
  2、可以在适当位置修改可变对象。可变对象主要就是列表和字典,这个适当位置实质上就是前面分析的局部子对象的修改不会改变字典对象或者列表对象的ID位置。
yycgis
2014-04-21 · TA获得超过8267个赞
知道大有可为答主
回答量:6831
采纳率:63%
帮助的人:1602万
展开全部
你好,你的这个函数确实是有一个参数的,
那么请你看下错误提示:
他说的是不是这个文件里面的这个参数;
因为python出错提示是按照出错出现的顺序,打印的;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刚注册的菜鸟
2014-04-21 · 超过17用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:42.9万
展开全部
应该是有个隐藏的this参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式