python错误消息:TypeError:缺少1个必需的位置参数:'self'

时间:2018-06-12 16:09:49

标签: python

我正在尝试使用一个类,但是我有这个错误:

TypeError: search() missing 1 required positional argument: 'self'

这是我的代码:

class School:
    def search(self):
        ... # do some stuff

harva = School()    
School.search()

3 个答案:

答案 0 :(得分:1)

您的最后一行不正确:您必须(il faut que vous)通过实例调用实例方法,而不是使用类调用实例方法:

harva.search()

当您将方法作为方法调用时,它需要实例:

School.search(harva)

但是,您应该使用第一个版本。

将来,不要一次写这么多代码。在编写所有这些之前,您应该尝试调用该方法。

答案 1 :(得分:0)

我认为您的意思是harva.search()而不是School.search()。 您将搜索定义为实例方法。你必须在学校的实例上调用它,而不是在学校课程本身上调用它。

答案 2 :(得分:0)

在面向对象的编程中……基本的基本元素是一个 object ,并且类及其member variablesmember functions只能通过以下方式访问:该类,即再次 object

class School():
   def search(self):
   ...#some code

harva = School()
harva.search()

您可以访问类内部的函数而无需创建该类的实例。 这些功能称为static functions.