The three Boolean operators (and, or, not) are used to compare Boolean values. Like comparison operators, they evaluate these expressions down to a Boolean value.
The and operator always takes two Boolean values. The and operator evaluates an expression to True if both Boolean values are True; otherwise, it evaluates to False.
True and True -> True True and False -> False False and True -> False False and False -> False
The or operator also takes two Boolean values. The or operator evaluates an expression to True if either of the two Boolean values is True.
True and True -> True True and False -> True False and True -> True False and False -> False
Unlike and and or, the not operator operates on only one Boolean value. The not operator simply evaluates to the opposite Boolean value
not True -> False not False -> True
Mixing Boolean and Comparison Operators
We can make more complicated expressions by combining our Boolean and Comparison Operators. We have to make sure that we evaluate down to either True or False.
Examples (4 < 5) and (5<6) -> True (4 < 5) and (9<6) -> False (4 < 5) or (10<6) -> True
The computer will evaluate the left expression first, and then it will evaluate the right expression. When it knows the Boolean value for each it will then evaluate the whole expression down to one.
Good and Bad Examples
Don’t use the actual words True and False as conditions or as comparison in the conditions.
if True: print("This will always run") if False: print("This will never run")
if some_condition == True: print("This isn't right") if some_condition: print("This is better")
The variable itself is the the boolean expression. It’s just extra code.
To check if something is False we can just use the NOT operator
if not some_condition: print("This statement is false")