why does bool(9) or any other no. except 1&0 with bool give the output true and why not false in python ? What is the logic behind it? In Python programming when i write bool(1) the output is true while when i write bool(0) the output is false. But when i write any other number with bool it turns out to be true.