我最近发现namedtuple
并想用它来替换我的 icky 大类定义,但我很好奇是否有一种聪明的方法来检索我刚刚选择的值的对象名称,如果不清楚,请参阅下面的示例;
MyStruct = namedtuple("MyStruct","Var1 Var2 Var3")
Instance = MyStruct(1,2,3)
# What I currently do (but hopefully there is a smarter way to do this)
print "Var1:\t"+str(Instance.Var1)+"Var2:\t"+str(Instance.Var2) #and so forth
我知道有一个_fields
看起来像这样的选项:
for x in Instance._fields:
if str(x) == "Var1" or ... : # I only want to show certain objects at this time
print x, getattr(Instance,x)
对我来说它仍然看起来相当不符合pythonic,那么有没有更好的方法来做到这一点?