Nei*_*l G 16 python properties
如何在Python中检查属性是否可设置或可删除?
到目前为止我发现的最好的是
type(obj).__dict__["prop_name"].fset is not None
Run Code Online (Sandbox Code Playgroud)
这是一个很好的情况,当你应该订阅"它更容易要求宽恕而不是权限"的理念,并且只是在属性不可设置 /可删除的情况下处理异常.
try:
x.prop = 42
except AttributeError:
pass
Run Code Online (Sandbox Code Playgroud)