sil*_*llz 1 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, keyid): #The function that is used
self.path = path
self.keytype = keytype
self.image = image
self.name = name
self.keyid = keyid
self.occupied = True
Run Code Online (Sandbox Code Playgroud)
我运行define()时的代码:
key = KeyProperties
key.define(param1,param2,param3,param4,param5)
Run Code Online (Sandbox Code Playgroud)
它给出了这个错误
TypeError:define()缺少1个必需的位置参数:'keyid'
你的当前key不是KeyProperties班级本身的实例.因此define需要6个参数(包括self):
要解决此问题,请实例化该类:
key = KeyProperties()
# ^^
Run Code Online (Sandbox Code Playgroud)
实例方法的第一个参数是实例本身(通常写为self).实例化类会自动self为您传递,然后define可以按照您的意图获取5个参数.
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |