Booleans
Before we talk about conditionals, we require to clarify the Boolean data type. It has two values False and True. Typical statement that have Boolean values are numerical comparisons:
>>> 7 > 8
False
>>> -6 <= 9
True
We can also test whether data items are equal to each other. Usually we use == to test for equality. It gives True if the two objects have same values. Sometimes, however, we will be study in knowing whether the two items are the exact same object. In that case we use is:
>>> [1, 2] == [1, 2]
True
>>> [1, 2] is [1, 2]
False
>>> a = [1, 2]
>>> b = [1, 2]
>>> c = a
>>> a == b
True
>>> a is b
False
>>> a == c
True
>>> a is c
True
Thus, in the examples above, we see that == testing can be applied to nested loops, and basically gives true if every one of the individual elements is the similar. However, is testing, especially when applied to nested loops, is more defined, and only returns True if the two objects point to exactly the same instance in memory.
In addition, we can combine Boolean values conveniently using and, not, and or:
>>> 7 > 8 or 8 > 7
True
>>> not 7 > 8
True
>>> 7 == 7 and 8 > 7
True
If
Basic conditional instructions have the form:5
if :
else:
When the interpreter encounters a conditional statement, it starts by evaluating , getting either True or False as a result.6 If the given result is True, then it will eval uate ,...,; if it is not true, then it will evaluate ,...,. Crucially, it always calculates only one set of the statements.
Now, for example, we can create a functionthat returns the absolute value of its argument.
def abs(x):
if x >= 0:
return x
else:
return -x
We could also have written
def abs(x):
if x >= 0:
result = x
else:
result = -x
return result
Python uses the level of indentation of the instructions to decide which ones go in the groups of statements governed by the conditionals; so, in the example above, the return result statement is evaluated once the conditional is done, no matter which branch of the conditional is evaluated.