在python中将对象类型初始化为相应的空值
我有一个类,它包含一个属性字典在python中将对象类型初始化为相应的空值,python,Python,我有一个类,它包含一个属性字典当前的\u属性,可以添加的属性及其相应的数据类型在有效的\u属性字典中预定义: self.valid_properties = {'name': str, 'number': int, 'point_data': list} self.current_properties = {'name': 'user_1'} 现在,我想编写一个方法,将每个新添加的属性初始化为相应的空值。e、 g.number为int,一旦添加,新状态应为: self.current_prop
当前的\u属性
,可以添加的属性及其相应的数据类型在有效的\u属性
字典中预定义:
self.valid_properties = {'name': str, 'number': int, 'point_data': list}
self.current_properties = {'name': 'user_1'}
现在,我想编写一个方法,将每个新添加的属性初始化为相应的空值。e、 g.number
为int
,一旦添加,新状态应为:
self.current_properties = {'name': 'user_1', 'number': 0}
self.current_properties = {'name': 'user_1', 'number': 0, 'point_data':[]}
如果我添加点\u数据
,新状态应为:
self.current_properties = {'name': 'user_1', 'number': 0}
self.current_properties = {'name': 'user_1', 'number': 0, 'point_data':[]}
如何完成此操作?使用:
valid_properties = {'name': str, 'number': int, 'point_data': list}
current_properties = {'name': 'user_1'}
current_properties['number'] = valid_properties['number']()
current_properties['point_data'] = valid_properties['point_data']()
print(current_properties)
# {'name': 'user_1', 'number': 0, 'point_data': []}
怎么做?
>>> k = int()
>>> k
0
>>> k = list()
>>> k
[]
int()
:
将要转换为整数对象的数字或字符串以及数字的基数作为参数。如果未传递任何参数,则返回0
列表()
:
将迭代器作为参数。如果未传递任何参数,它将创建一个空列表。您可以使用要插入的任何键从
有效的\u属性中查找类型,然后使用()
实例化该类型的对象
>>> valid_properties = {'name': str, 'number': int, 'point_data': list}
>>> current_properties = {'name': 'user_1'}
>>> current_properties
{'name': 'user_1'}
>>> current_properties['number'] = valid_properties['number']()
>>> current_properties
{'number': 0, 'name': 'user_1'}
“每个新添加的属性”-如何“添加”新属性?