我有几个类使用一个内部子系统的API。我们使用lxml.objectify解析并使用它的响应来通过object.property语法遍历节点。
但问题是代码变得非常混乱和非pythonic,因为在某些情况下,如果对象的某些属性不存在,API就不会返回与此属性相关的整个xml节点&子属性。
这导致代码如下:
if hasattr(object,"property"):
if hasattr(object.property,"subproperty"):
etc...
是否有任何pythonic方式来做这样的事情?或者只是一些好的做法。 在访问它之前检查是否存在everysingle属性变得令人头疼,也许只有在它不存在的情况下才能返回None?