This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author SilentGhost
Recipients SilentGhost, georg.brandl
Date 2009-07-06.14:45:32
SpamBayes Score 6.737669e-06
Marked as misclassified No
Message-id <1246891534.57.0.238134342776.issue6428@psf.upfronthosting.co.za>
In-reply-to
Content
According to docs
(http://docs.python.org/3.1/reference/datamodel.html#object.__bool__)
__bool__ can return 1 or 0 instead of True or False.
However, when I ran the following code:

Python 3.1 (r31:73574, Jun 26 2009, 20:21:35) [MSC v.1500 32 bit
(Intel)] on win32
>>> class Spam():
	def __bool__(self):
		return 1

	
>>> if Spam():
	print('ham')

I got the following error:
	
Traceback (most recent call last):
  File "<pyshell#72>", line 1, in <module>
    if Spam():
TypeError: __bool__ should return bool or int, returned int

So, do I misunderstand the docs or is it an error in them?
History
Date User Action Args
2009-07-06 14:45:34SilentGhostsetrecipients: + SilentGhost, georg.brandl
2009-07-06 14:45:34SilentGhostsetmessageid: <1246891534.57.0.238134342776.issue6428@psf.upfronthosting.co.za>
2009-07-06 14:45:33SilentGhostlinkissue6428 messages
2009-07-06 14:45:32SilentGhostcreate