- 此问题在此处已有答案**:
Boolean value of objects in Python(2个答案)
15小时前关门了。
我正在用一个新类型扩展Python,在Python手册的New Types一节中我没有看到任何关于bool转换的内容。我如何指定我的类型如何转换成bool?
例如,在下面的示例中,本机numpy类型to被解释为Python bool
import numpy as np
if (np.array(False)):
print 'hi'
else:
print 'hey'
看看字节码,它对应于POP_JUMP_IF_FALSE
,但这似乎对跟踪转换逻辑没有用处。
1条答案
按热度按时间bzzcjhmw1#
在Python文档中,在特殊方法名称下,你可以看到
.__bool__()
方法就是这样做的。如果你仍然使用Python 2.x,那么方法名是
__nonzero__
而不是__bool__
(参见Python 2.7文档)。