私は最近発見namedtuple
し、厄介な大規模なクラス定義を置き換えるために使用したいと考えていますが、選択したばかりの値のオブジェクトの名前を取得するスマートな方法があるかどうかに興味があります。不明な場合は以下の例を参照してください。
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に見えるので、これを行うためのより良い方法はありますか?