Operator | Name | Description |
---|---|---|
a + b |
Addition | Sum of a and b |
a - b |
Subtraction | Difference of a and b |
a * b |
Multiplication | Product of a and b |
a / b |
True division | Quotient of a and b |
a // b |
Floor division | Quotient of a and b , removing fractional parts |
a % b |
Modulus | Integer remainder after division of a by b |
a ** b |
Exponentiation | a raised to the power of b |
-a |
Negation | The negative of a |
+a |
Unary plus | a unchanged (rarely used) |
In [1]:
# addition, subtraction, multiplication
(4 + 8) * (6.5 - 3)
Out[1]:
In [2]:
# True division
print(11 / 2)
In [3]:
# Floor division
print(11 // 2)
The floor division operator was added in Python 3; you should be aware if working in Python 2 that the standard division operator (/
) acts like floor division for integers and like true division for floating-point numbers.
An additional operator that was added in Python 3.5: the a @ b
operator, which is meant to indicate the matrix product of a
and b
.
In [4]:
a = 24
print(a)
We can use these variables in expressions with any of the operators mentioned earlier.
For example, to add 2 to a
we write:
In [5]:
a + 2
Out[5]:
a
with this new value, e.g. a = a + 2
.
In [6]:
a += 2 # equivalent to a = a + 2
print(a)
Operation | Description | Operation | Description | |
---|---|---|---|---|
a == b |
a equal to b |
a != b |
a not equal to b |
|
a < b |
a less than b |
a > b |
a greater than b |
|
a <= b |
a less than or equal to b |
a >= b |
a greater than or equal to b |
In [7]:
# 25 is odd
25 % 2 == 1
Out[7]:
In [8]:
# 66 is odd
66 % 2 == 1
Out[8]:
We can string-together multiple comparisons to check more complicated relationships:
In [9]:
# check if a is between 15 and 30
a = 25
15 < a < 30
Out[9]:
In [10]:
x = 4
(x < 6) and (x > 2)
Out[10]:
In [11]:
(x > 10) or (x % 2 == 0)
Out[11]:
In [12]:
not (x < 6)
Out[12]:
We will come back to the Boolean operations in the control flow statements section.
Like and
, or
, and not
, Python also contains prose-like operators to check for identity and membership.
They are the following:
Operator | Description |
---|---|
a is b |
True if a and b are identical objects |
a is not b |
True if a and b are not identical objects |
a in b |
True if a is a member of b |
a not in b |
True if a is not a member of b |
In [13]:
a = [1, 2, 3]
b = [1, 2, 3]
In [14]:
a == b
Out[14]:
In [15]:
a is b
Out[15]:
In [16]:
a is not b
Out[16]:
What do identical objects look like? Here is an example:
In [17]:
a = [1, 2, 3]
b = a
a is b
Out[17]:
a
and b
point to different objectsAs we saw in the previous section, Python variables are pointers. The "is
" operator checks whether the two variables are pointing to the same container (object), rather than referring to what the container contains.
Often, you might be tempted to use "is
" what they really mean is ==
.
In [18]:
1 in [1, 2, 3]
Out[18]:
In [19]:
4 in [1, 2, 3]
Out[19]:
In [20]:
2 not in [1, 2, 3]
Out[20]:
In [21]:
4 not in [1, 2, 3]
Out[21]: