我希望字典作为类中的参数来调用,并希望将其与类中的函数一起使用。
class video_0(data):
def check_internal(self):
if 'internal' in self.data['video_0']:
return True
else:
return False
def check_sdcard(self):
if 'sdcard' in self.data['video_0']:
return True
else:
return False
这里的数据就是字典。我试图做这样的事情。
data = {
"video_3": {
"internal": {
"del_status": 1,
"del_start": 1574164254340.0,
"del_end": 1574164254345.0,
"copy_start": 1574162274613.0,
"copy_end": 1574162274624.0,
"copied": 1,
"fail_reason": ""
},
"sdcard": {
"del_status": 1,
"del_start": 1574829181577.0,
"del_end": 1574829181577.0,
"copy_start": 1574162275033.0,
"copy_end": 1574162275130.0,
"add_status": 1
},
"starttime": 1574162215744.0,
"duration": 57891,
"endtime": 1574162273635.0,
"size": 3754770
},
这是我想在课堂上使用的输入字典。
答案 0 :(得分:0)
我相信您想将字典初始化为init的参数(实例变量),如下所示。
class video_0:
def __init__(self, data):
self.data = data
其余与您的方法相同
答案 1 :(得分:0)
您可以通过构造函数传递数据
class video_0():
def __init__(self, data):
self.data = data
def getData(self):
return self.data
new_dic = {'Name': 'John'}
vid = video_0(new_dic)
print(vid.getData())
答案 2 :(得分:0)
我认为您想要的是__init__
方法。要将参数传递给类对象,使用__init__
方法。 Python中的class ChildClass(ParentClass)
表示ChildClass
正在扩展ParentClass
。
class video_0:
def __init__(self, data):
self.data = data
def check_internal(self):
if 'internal' in self.data['video_0']:
return True
else:
return False
def check_sdcard(self):
if 'sdcard' in self.data['video_0']:
return True
else:
return False
def check_internal_copied(self):
if 'copied' in self.data['video_0']['internal']:
return True
else:
return False
def check_internal_del_status(self):
if 'del_status' in self.data['video_0']['internal']:
return True
else:
return False
c = video_0(data)
c.check_internal_copied()