在Python中,为“if对象”覆盖什么操作符? - 代码日志

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

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

l=[]
if l:
     do_stuff()

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

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

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

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在Python中,为“if对象”覆盖什么操作符?