1
如果类实例不存在,我必须为类实例设置属性。 我使用下面的代码来实现这一目标:如何在不使用hasattr的情况下设置类属性的默认值
class O(object):
pass
o = O()
if not hasattr(o, 'some_attr'):
setattr(o, 'some_attr', None)
print o.some_attr
是否有更好的方式来执行这样的行动?
我会使用'vars(o)'(就像你使用'len(obj)'而不是'obj .__ len __()'。 –
@MartijnPieters感谢您的建议!这可能是执行此类操作的首选方法) –
Python 3.1:'vars([object])'**注意:**不应修改返回的字典:对相应符号表的影响未定义。 (https://docs.python.org/3.1/library/functions.html#vars) – Valentin