在python中调用字符串作为变量

2024-04-27 01:04:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中创建了一个名为SignalParam的类,其中包含不同的属性(频率、电压、时间等)

我想创建许多这种类型的实例

vars()['Segment'+str(segment_number)] = SignalParam()

这行正在工作,我可以创建变量“Segment1”,“Segment2”。。。。你知道吗

我的问题是:我想把这些变量称为

"Segment"+segment_number.freqency=33

Tags: 实例类型number属性时间segmentvars频率
3条回答

这是不好的风格。改用字典和简单的键来访问:

 d = {}
 d['Segment'+str(segment_number)] = SignalParam()
 d['Segment'+str(segment_number)].frequency = 33

您不应该使用vars的原因是,这意味着您要创建全局变量,您应该避免这样做。考虑到你的访问方式,你甚至不需要它。你知道吗

不是最安全的解决方案,但您可以使用exec:

exec("Segment"+segment_number+".frequency=33")

在这里用字典可能更好。用segments = {}定义一个。然后可以通过在字典中键入段号来创建SignalParam

segments[segment_number] = SignalParam()

使用如下对象:

segments[segment_number].frequency = 33

相关问题 更多 >