Data Handling
Truth Values
Truth values are basically logical values of some data.
It can have either of two values : True
/ False
In python, except : False
, ""
, ''
, ''''''
, """"""
, None
, 0
, {}
, []
and ()
have a truth value as False
.
Truth Value of some data can be found out using bool(x)
, where x
is some data.
Lets test it out :
>>> bool("Hello")
True
>>> bool(0)
False
>>> bool(None)
False
>>> bool(1)
True
>>> bool(3.56)
True
>>> bool([1,50,97])
True
>>> bool({})
False
Logical Operators
As discussed earlier the logical operators in python are : and
, or
, not
.
not
Operator
is the inverse operator it will invert every result (True becomes False and False Becomes True).
>>> not True
False
>>> not False
True
or
Operator
Is an operator which returns True
if either of the conditions specified is True
.
If both conditions specified are False
then it returns False
.
>>> 5 > 3 or 2 < 1
True
>>> 10 > 20 or 11 > 200
False
>>> 1 < 2 or 2 < 3 #it will return True even if both conditions specified are True
True
and
operator
Returns True
only if both conditions are True
otherwise it will return False
.
>>> 5 > 3 and 2 < 1
False
>>> 200 < 1 and 2 > 1
False
>>> 1 == 1 and 500 != 21
True
>>> 23 < 25 and 5 > 1
True
Some Errors which do not show up
These errors would show up when used individually but they are not read by python because :
(i) the or
operator only reads the second condition if the first condition is True
3 > 2 or a > b #a and b are not defined yet we are comparing them
True
>>> #no errors
(ii) the and
operator only reads the second condition if the second condition is False
>>> 3 < 2 and a != b
False
>>> #no errors yet again
Lets confirm that they do give errors if used individually:
>>> a > b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> a != b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined