在python中调用string作为变量

0 python string variables

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

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

vars()['Segment'+str(segment_number)] = SignalParam()
Run Code Online (Sandbox Code Playgroud)

这条线工作,我可以创建变量"Segment1","Segment2",....

我的问题是:我想把那些变种称为

"Segment"+segment_number.freqency=33
Run Code Online (Sandbox Code Playgroud)

dee*_*ets 5

这是不好的风格.改为使用字典,并使用简单的键访问:

 d = {}
 d['Segment'+str(segment_number)] = SignalParam()
 d['Segment'+str(segment_number)].frequency = 33
Run Code Online (Sandbox Code Playgroud)

你不应该使用的原因vars是因为它意味着你创建全局变量,你应该避免.鉴于您的访问风格,您甚至不需要它.