Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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_Python 3.x_Traits - Fatal编程技术网

Python 叛徒:一个“叛徒”的最佳方式;举例说明;?

Python 叛徒:一个“叛徒”的最佳方式;举例说明;?,python,python-3.x,traits,Python,Python 3.x,Traits,在我的代码中,我需要一个实例的Dict(例如,按名称键入的参数列表)。目前,我已经解决了这个问题,方法是使用一个常规的Dict-traitlet作为传入属性(parameters),然后使用一个函数将这些属性“转换”为Parameter类的实例 有没有比以下更好的方法: 将traitlets导入为t 将traitlets.config作为tc导入 类参数(tc.可配置): name=t.Unicode().tag(config=True) description=t.Unicode(allow\

在我的代码中,我需要一个
实例
Dict
(例如,按名称键入的
参数列表)。目前,我已经解决了这个问题,方法是使用一个常规的
Dict
-traitlet作为传入属性(
parameters
),然后使用一个函数将这些属性“转换”为
Parameter
类的实例

有没有比以下更好的方法:

将traitlets导入为t
将traitlets.config作为tc导入
类参数(tc.可配置):
name=t.Unicode().tag(config=True)
description=t.Unicode(allow\u none=True).tag(config=True)
value=t.Any(默认值=None).tag(config=True)
班级作业(tc.可配置):
parameters=t.Dict(allow_none=True).tag(config=True)
_参数_map=t.Dict()
def初始参数(自身):
self.\u参数\u映射.clear()
对于名称,在self.parameters.items()中进行配置:
配置['name']=name
参数=参数(**配置,父项=自身)
self.\u参数\u映射[名称]=参数
然后这个:

c.Job.parameters={
“参数1”:{
“说明”:“第一个参数”,
“价值”:真实
}
}
它是有效的,逻辑规定了这一点——因为您使用traitlets通过“类名”进行配置——这是唯一的方法,但我只是想确定一下