Logical Operators
We'll cover the following
Logical operators
Name | Symbol | Syntax | Explanation |
And operator | and |
| Returns |
Or operator | or |
| Returns |
Not operator | not |
| Returns the opposite of the condition |
Let’s use test values so that we can dry run some examples of this code. We’ll set num_one
to 6 and num_two
to 3. Applying logical operators on certain numerical conditions would give the following results:
The and
operator
True
if both num_one
and num_two
are true; otherwise, it’s False
.
Expression: 6 is greater than or equal to 0 and less than 5, which is False
.
The or
operator
True
if either num_one
is greater than 5 or num_two
is less than 3; False
if both are False
.
Expression: 6 is greater than 5, or 3 is less than 3, which is True
.
The not
operator
True
if num_one
is not equal to 10; False
if num_one
is True
.
Expression: 6 is not equal to 10, which is True
.
Code
We can put this effectively into Python code, and you can even change the numbers and experiment with the code yourself! Click the “Run” button to see the output.
num_one = 6num_two = 3result_and = num_one >= 0 and num_one < 5print(result_and)result_or = num_one > 5 or num_two < 3print(result_or)result_not = not num_one == 10print(result_not)
Logical operators can be combined to form complex conditions that are dependent on more than one variable.
my_list = [1, 2, 3, 4, 5]is_list_not_empty = bool(my_list)first_element_is_one = my_list[0] == 1contains_odd_numbers = any(i% 2 != 0 for i in my_list)nested_conditions_result = (is_list_not_empty and first_element_is_one) or (not contains_odd_numbers)print(nested_conditions_result)
The above code will return True
if either one of the following conditions is True
, since the conditions are joined using an or
operator.
The list is not empty, and the first element’s value is equal to 1.
The list does not contain odd numbers.
Since the first condition is True
, the result is evaluated as True
.