Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中将对象类型初始化为相应的空值_Python - Fatal编程技术网

在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'}
“每个新添加的属性”-如何“添加”新属性?