当前位置: 首页 > 面试题库 >

有趣的“正好采用1个参数(给定2个)” Python错误

凤经国
2023-03-14
问题内容

对于错误:

TypeError: takes exactly 1 argument (2 given)

使用以下类方法:

def extractAll(tag):
   ...

并调用它:

e.extractAll("th")

当我给它1个参数时,错误似乎很奇怪,该方法应仅接受1个参数,但这是说我没有给它1个参数....我知道可以通过添加self到方法原型中来解决问题但是我想知道错误的原因。

我得到它是因为通过e.extractAll(“
th”)调用它的行为也self作为参数传递了吗?如果是这样,通过删除self调用中的,我是否可以使其成为某种可以像这样调用的类方法Extractor.extractAll("th")


问题答案:

通话

e.extractAll("th")

因为常规方法extractAll()的确等于

Extractor.extractAll(e, "th")

这两个调用在所有方面都被视为相同,包括收到的错误消息。

如果不需要将实例传递给方法,则 可以 使用staticmethod

@staticmethod
def extractAll(tag):
    ...

可以称为e.extractAll("th")。但是我不知道为什么如果您不需要访问任何实例,这根本就是类上的方法。



 类似资料:
  • 问题内容: 的所有文档似乎都表明这是一段有效的代码-不明白吗? 问题答案: 文件说两个参数:。 第一个是mysqli实例的链接,第二个是要转义的字符串。

  • 问题内容: 我正在用Tk用python创建Sudoku游戏。 我在按键上的按钮功能上遇到错误 和这个错误/例外 我不在乎错误在哪里。我已经将自我纳入了我的职能 问题答案: 我看到已经回答了这个问题,但是我有一种我真的更喜欢的方式,并且您和其他人会很感激。 假设您的方法kk用于多个位置,并且您不想发送任何随机变量来占据下面显示的“ another_parameter”的位置(根据Christian的

  • 问题内容: 我试图让我的头围绕mysql。谁能告诉我为什么这个MySQL查询无法正常工作?我收到以下错误: 警告:mysqli_error()期望恰好有1个参数,第11行的/home/freebet2/public_html/test.php中给出的参数为0 test.php db.php 如果我将alter string更改为:之类的原因,我不会收到任何错误。 问题答案: 就sql错误而言,“用

  • 我正在运行一个celery任务,它需要两个参数,如下所示: 和:

  • 问题内容: 我正在使用python从另一个文件的另一类的方法中调用一个文件中的一个类中的方法 假设我的文件包含 另一个文件是 当我运行此文件时,出现错误: 问题答案: 如果在类中,则您的方法应为: 您可以在此处阅读有关其原因的信息。

  • 问题内容: 我尝试使php登录,但出现此错误:我做错了什么? register.php 我使用000webhost,这是我第一次在线使用mysql数据库时。 问题答案: 您正在混合和运行。 如果您使用的是mysql函数,请改用 如果您使用的是mysqli_ 函数,则必须将与数据库的连接包括到mysqli_real_escape函数中* : 注意:由于不建议使用mysql,因此请使用mysqli_