2024-04-27 01:04:08 发布
网友
我在python中创建了一个名为SignalParam的类,其中包含不同的属性(频率、电压、时间等)
我想创建许多这种类型的实例
vars()['Segment'+str(segment_number)] = SignalParam()
这行正在工作,我可以创建变量“Segment1”,“Segment2”。。。。你知道吗
我的问题是:我想把这些变量称为
"Segment"+segment_number.freqency=33
这是不好的风格。改用字典和简单的键来访问:
d = {} d['Segment'+str(segment_number)] = SignalParam() d['Segment'+str(segment_number)].frequency = 33
您不应该使用vars的原因是,这意味着您要创建全局变量,您应该避免这样做。考虑到你的访问方式,你甚至不需要它。你知道吗
vars
不是最安全的解决方案,但您可以使用exec:
exec("Segment"+segment_number+".frequency=33")
在这里用字典可能更好。用segments = {}定义一个。然后可以通过在字典中键入段号来创建SignalParam:
segments = {}
SignalParam
segments[segment_number] = SignalParam()
使用如下对象:
segments[segment_number].frequency = 33
这是不好的风格。改用字典和简单的键来访问:
您不应该使用
vars
的原因是,这意味着您要创建全局变量,您应该避免这样做。考虑到你的访问方式,你甚至不需要它。你知道吗不是最安全的解决方案,但您可以使用exec:
在这里用字典可能更好。用
segments = {}
定义一个。然后可以通过在字典中键入段号来创建SignalParam
:使用如下对象:
相关问题 更多 >
编程相关推荐