在Python中,为“if对象”覆盖什么操作符?

我发现使用以下结构检查对象是否为“空”非常方便:

l=[]
if l:
     do_stuff()

对于标准的python列表,只有当列表不为空时,才会执行该if。

我的问题是,我如何为自己的对象实现同样的想法?

定义一个方法__bool__(Python 3.x)或__nonzero__(2.x)。或者定义两者的可移植性,一个返回另一个的结果。
翻译自:https://stackoverflow.com/questions/5288990/in-python-what-operator-to-override-for-if-object

转载注明原文:在Python中,为“if对象”覆盖什么操作符?