Skip to main content
 首页 » 编程设计

python报告缺少参数

2025年05月04日9jiqing9006

我在一个需要 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() 时的代码:

    key = KeyProperties 
    key.define(param1,param2,param3,param4,param5) 

它给出了这个错误

TypeError: define() missing 1 required positional argument: 'keyid'

请您参考如下方法:

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

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

key = KeyProperties() 
#                  ^^ 

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