div*_*ero 45 python methods overloading magic-methods
可能重复:
在python中定义类的"boolness"
我认为这应该打印"False",为什么打印"True"?
>>> class Foo(object):
... def __bool__(self):
... return False
...
>>> f = Foo()
>>> if f:
... print "True"
... else:
... print "False"
...
True
>>>
Run Code Online (Sandbox Code Playgroud)
Sve*_*ach 81
你应该__nonzero__()
在Python 2.x中定义.它只__bool__()
在Python 3.x中重命名.(该名称__nonzero__()
实际上早于该bool
类型的引入多年.)
归档时间: |
|
查看次数: |
14905 次 |
最近记录: |