मैंपायथन: Getattr के साथ किसी ऑब्जेक्ट की विशेषता का गुण कैसे प्राप्त करें?
a = myobject.id.number
कैसे मूल्यांकन और वापसी नहीं करता है, तो यह MyObject None
है निर्मित getattr
? शायद getattr(myobject, "id.number", None)
?
मैंपायथन: Getattr के साथ किसी ऑब्जेक्ट की विशेषता का गुण कैसे प्राप्त करें?
a = myobject.id.number
कैसे मूल्यांकन और वापसी नहीं करता है, तो यह MyObject None
है निर्मित getattr
? शायद getattr(myobject, "id.number", None)
?
getattr(getattr(myobject, "id", None), "number", None)
काम करना चाहिए।
एक थोड़ा अधिक ध्यान में रखते हुए सामान्य समाधान रखते हुए सभी सदस्यों:
if myobject and myobject.id and myobject.id.number:
a = myobject.id.number
else:
a = None
यहाँ एक एक लाइनर
a = myobject is not None and myobject.id.number or None
यह जाँच नहीं पड़ता कि आईडी नहीं है, लेकिन वह मूल प्रश्न का हिस्सा नहीं था।
return myobject.id.number if myobject else None
क्या ऐसा करने के लिए एक अच्छा तरीका है? –
यह किसी भी गहराई तक अच्छी तरह से बड़े पैमाने चाहिए:
reduce(lambda obj, attr : getattr(obj, attr, None), ("id","num"), myobject)
कोई विशेष उपयोग के मामले तो आप इस के लिए मन में है है? –