我对椰子有如下要求:
x = "a"
x = 2 => This should become a = 2
有人可以帮助是否有可能在python中实现这一点?我需要根据上面的方法给DUT赋值(如下所示):
for sig in ["sig_1", "sig_2"]:
self.bfm.sig = 1
我很确定你不想在你的代码中这样做,但是你想做的事情可以使用eval()
:
for sig in ["sig_1", "sig_2"]:
eval(f”self.bfm.{sig} = 1”)
这也适用于你的MWE在你的问题的顶部:
x = "a"
eval(f”{x} = 2”)
注意,eval
的这种使用(或滥用)违背了最佳实践。你可能最好把bfm
变成一个字典,坦率地说,它以你试图使用它们的方式接受字符串作为键:
for sig in ["sig_1", "sig_2"]:
self.bfm[sig] = 1
as Unmitigated comment:
for sig in ["sig_1", "sig_2"]:
self.bfm[sig]=1
如果您希望它们都为1,则应该做"sig_1", "sig_2"
使用方括号。
for sig in ["sig_1", "sig_2"]:
self.bfm[sig] = 1