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