How to convert number 1 to a Boolean in python

Viewed 75625

I have seen similar questions asked, but none have answered my question. I am relatively new to python, and have no idea what i'm doing.

5 Answers

Use:

>>> bool(1)
True
>>> bool(0)
False
>>> int(bool(1))
1
>>> int(bool(0))
0

Can convert back too.

Or a clever hack that could be quicker would be:

>>> not not 1
True
>>> not not 0
False
>>> 

Converting back:

>>> int(not not 1)
1
>>> int(not not 0)
0
>>> 

Only the following values will return False when passed as a parameter to bool()

  • None
  • False
  • Zero of any numeric type. For example, 0, 0.0, 0j
  • Empty sequence. For example, (), [], ''.
  • Empty mapping. For example, {}
  • objects of Classes which has bool() or len() method which returns 0 or False

Everything else returns True

Source1 Source2

Unless you don't want to explicitly use Boolean type variable you don't need to. Python accepts it as True in many expression:

print(True == 1)
print(False == 0)

Out:

True
True

In other cases you can use bool(1) of course.

print(bool(1))
print(bool(0))

Out:

True
False

Very simple:

bool(1)

Here are a few scenarios, to show:

print(bool(1))

Will return: True

print(bool(0))

Will return: False

To convert 1 to boolean type:

print(bool(1))

Which returns True.

Related