Operators data manipulation tools - zamaniamin/python GitHub Wiki
Key takeaways
-
An expression is a combination of values (or variables, operators, calls to functions ‒ you will learn about them soon) which evaluates to a certain value, e.g.,
1 + 2
. -
Operators are special symbols or keywords which are able to operate on the values and perform (mathematical) operations, e.g., the
*
operator multiplies two values:x * y
. -
Arithmetic operators in Python:
+
(addition),-
(subtraction),*
(multiplication),/
(classic division ‒ always returns a float),%
(modulus ‒ divides left operand by right operand and returns the remainder of the operation, e.g.,5 % 2 = 1
),**
(exponentiation ‒ left operand raised to the power of right operand, e.g.,2 ** 3 = 2 * 2 * 2 = 8
),//
(floor/integer division ‒ returns a number resulting from division, but rounded down to the nearest whole number, e.g.,3 // 2.0 = 1.0
) -
A unary operator is an operator with only one operand, e.g.,
-1
, or+3
. -
A binary operator is an operator with two operands, e.g.,
4 + 5
, or12 % 5
. -
Some operators act before others – the hierarchy of priorities:
- the
**
operator (exponentiation) has the highest priority; - then the unary
+
and-
(note: a unary operator to the right of the exponentiation operator binds more strongly, for example:4 ** -1
equals0.25
) - then
*
,/
,//
, and%
; - and, finally, the lowest priority: the binary
+
and-
.
- the
-
Subexpressions in parentheses are always calculated first, e.g.,
15 - 1 * (5 * (1 + 2)) = 0
. -
The exponentiation operator uses right-sided binding, e.g.,
2 ** 2 ** 3 = 256
.
Remember: Data and operators when connected together form expressions. The simplest expression is a literal itself.