2
如何从'self'语法中使用变量作为'key'来获取保存的值?通过名称获取变量
一些代码:
class Foo:
def __init__(self, n1, n2, n3, ...):
self.node_1 = n1
self.node_2 = n2
self.node_3 = n3
...
def get_node(n):
return self."node_"+n # This is wrong. What should I use?
我不能做一个switch语句,因为我有21个值...
只是令人格外清楚,如果
n = 2
,我想要价值self.node_2
。所以n = 3
是self.node_3
等
你为什么不只是'self.nodes'列表?虽然你可以*通过存储在字符串中的名字访问属性,但是节点列表会更有意义。 – user2357112
临时解决方案? 'getattr'功能。对于“我需要动态变量名称”的正确解决方案是使用字典(如果名称必须是真正任意的)或列表(如果您想要var1,var2,... varN)。 –
这个问题不是重复的。相同答案的问题不是*总是*同一个问题。 –