有时我会创建定义了 x
属性的对象,有时我不会。
class Object(models.Model):
x = models.IntegerField(blank=True, null=True)
我想创建我的对象的一个子集,x
没有在我的应用程序中的某个点定义:
[o for o in os if not hasattr(o,'x')]
我一直在 shell 中玩耍,但没有得到我想要的结果。
>>> o = Object()
>>> o.save()
>>> o.id
1L
>>> hasattr(o,'x')
True
检查 x == None
是否足够?
最佳答案
是的,检查 x is None
就足够了。
Object
的任何实例都将始终具有属性 x
,无论您是否设置它 - 它只会是 None
如果您没有设置它。
关于python - 如何可靠地检查是否为对象定义了属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17855556/