【问题标题】:python reports missing parameterpython报告缺少参数
【发布时间】:2016-07-12 14:13:07
【问题描述】:

我在一个需要 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() 缺少 1 个必需的位置参数:'keyid'

【问题讨论】:

    标签: python object self


    【解决方案1】:

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

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

    key = KeyProperties()
    #                  ^^
    

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

    【讨论】:

      猜你喜欢
      • 2018-07-26
      • 2023-03-05
      • 1970-01-01
      • 2013-01-22
      • 2019-05-18
      • 2023-03-31
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      相关资源
      最近更新 更多