2011-12-06 28 views

回答

3

如果你想要的是使用你的类的实例作为布尔值,即,一些类的实例是真的,有些是虚假的,那么,在你的班级中,适当地定义__nonzero__

见5.1节在docs

默认情况下,说

if myobject: 

其中myobject是一些类的实例,将评估,如果你写

if True: 

定义__nonzero__()允许您可以自定义在布尔上下文中如何使用对象(可以这么说)。

对于Python 3,事情有点不同。见this SO question

+0

太棒了,谢谢。 – bxx

相关问题