Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python报告缺少参数_Python_Object_Self - Fatal编程技术网

python报告缺少参数

python报告缺少参数,python,object,self,Python,Object,Self,我在一个需要5个参数的对象中有一个函数。我创建了该对象的一个实例并运行函数define(param1,2,3,4,5),它给出了缺少第五个参数的响应 以下是我的部分代码: class KeyProperties: #Object path = None keytype = None image = None name = None keyid = None occupied = None def define(self, name, path, image, keytype, ke

我在一个需要5个参数的对象中有一个函数。我创建了该对象的一个实例并运行函数define(param1,2,3,4,5),它给出了缺少第五个参数的响应

以下是我的部分代码:

    class KeyProperties:   #Object
path = None
keytype = None
image = None
name = None
keyid = None
occupied = None

def define(self, name, path, image, keytype, keyid): #The function that is used
    self.path = path
    self.keytype = keytype
    self.image = image
    self.name = name
    self.keyid = keyid
    self.occupied = True
运行define()时的代码:

它给出了这个错误

TypeError:define()缺少1个必需的位置参数:“keyid”


当前的
key
不是
KeyProperties
的实例,而是类本身。因此,
define
需要6个参数(包括
self
):

要解决此问题,请实例化该类:

key = KeyProperties()
#                  ^^

实例方法的第一个参数是实例本身(通常写为
self
)。实例化类会自动为您传递
self
,然后
define
现在可以按照您的意愿获取5个参数。

您当前的
key
不是
KeyProperties
的实例,而是类本身。因此,
define
需要6个参数(包括
self
):

要解决此问题,请实例化该类:

key = KeyProperties()
#                  ^^
实例方法的第一个参数是实例本身(通常写为
self
)。实例化类会自动为您传递
self
,然后
define
现在可以按照您的意愿获取5个参数