Operators
1. Arithmetic Operators
An arithmetic operation in Python involves applying mathematical operators to values (operands). Here’s the anatomy of an operation:
>>> 10 + 5
15
Arithmetic Operator Symbols and Their Operations
| Operator | Operation |
|---|---|
| + | Addition |
| - | Subtraction |
| * | Multiplication |
| / | Division |
| // | Floor Division |
| % | Modulus (Remainder) |
| ** | Exponentiation |
These operators are binary operators, meaning they operate on two operands. Let’s explore each operator:
>>> 10 + 5 # Addition
15
>>> 10 - 5 # Subtraction
5
>>> 10 * 5 # Multiplication
50
>>> 10 / 5 # Division
2.0
>>> 10 // 5 # Floor Division
2
>>> 10 % 5 # Modulus (Remainder)
0
>>> 10 ** 5 # Exponentiation (Power)
100000
Explanation of Floor Division, Modulus, and Exponentiation
-
//Floor Division: Divides two numbers and returns the integer quotient, discarding any remainder.>>> 8 // 3 2 # The quotient is 2, remainder is discarded. -
%Modulus: Returns the remainder of a division.>>> 10 % 3 1 # The remainder is 1. -
**
**Exponentiation**: Raises one number to the power of another.>>> 2 ** 3 8 # 2 raised to the power of 3.
Division vs Floor Division
The / operator performs division and returns the exact result (as a float), while // returns only the integer part (quotient).
>>> 5 / 2
2.5 # Standard division
>>> 5 // 2
2 # Floor division
Unary Operators: + and -
Unlike the binary operators mentioned above, the + and - operators can also act as unary operators (operating on one operand). They indicate positive or negative numbers.
>>> -2 # Unary minus
-2
>>> +2 # Unary plus
2
Variable Usage in Arithmetic Operations
While we’ve used literals so far, arithmetic operations can also be applied to variables:
>>> x = 1
>>> y = x * 5
>>> print(x, y)
1 5
2. Relational Operators
Relational operators are used to compare two values. The result is a boolean (True or False).
Relational Operator Symbols and Their Operations
| Operator | Operation |
|---|---|
| > | Greater than |
| < | Less than |
| >= | Greater than or equal to |
| <= | Less than or equal to |
| == | Equal to |
| != | Not equal to |
These operators are also binary operators. Examples:
>>> 10 > 5
True
>>> 10 < 5
False
>>> 10 >= 5
True
>>> 10 <= 5
False
>>> 10 == 5
False
>>> 10 != 5
True
Relational operators are also known as comparison operators, as they compare two operands and return a boolean value. You can assign the result of a comparison to a variable:
>>> x = 10
>>> y = 15
>>> z = y > x
>>> print(z)
True
Note: The == operator checks for equality and should not be confused with = which is used for assignment.
3. Logical Operators
Logical operators are used to combine multiple boolean expressions. They operate on boolean values and return a boolean result.
Logical Operator Symbols and Their Operations
| Operator | Operation |
|---|---|
not | Logical negation |
and | Logical conjunction |
or | Logical disjunction |
andandorare binary operators.notis a unary operator.
Examples
>>> True and False
False
>>> True or False
True
>>> x = False
>>> y = not x
>>> print(y)
True
The not operator inverts the boolean value (True becomes False, and vice versa). Parentheses can be used but are optional:
>>> x = True
>>> not x
False
>>> x = False
>>> not(x)
True
4. Code Convention
Consider the following lines of code:
>>> print(1 + 2)
3
>>> print(1+2)
3
Both lines produce the same output. In this course, we will follow the first convention—always adding spaces around operators for readability:
>>> x = 2 # We will follow this.
>>> x=2 # We will NOT follow this.
Both are syntactically correct, but adding spaces makes the code more readable.
5. Expressions
An expression in Python is a combination of literals, variables, and operators that evaluates to a value. Here are a few examples:
1 + 4 / 4 ** 0
x / y + z * 2.0
3 > 4 and 1 < 10
not True and False
Each expression evaluates to a value, which has a specific type. For example:
- The first two expressions result in a
float. - The next two result in a
bool.
Arithmetic Expressions
An arithmetic expression evaluates to a numeric value (int or float). Here’s an example:
>>> 1 + 2
3
>>> type(1 + 2)
<class 'int'>
If one operand is a float, the result will also be a float:
>>> 1.0 + 2
3.0
>>> type(1.0 + 2)
<class 'float'>
Boolean Expressions
A boolean expression results in a bool value (True or False), typically through the use of relational or logical operators:
>>> 2 > 1
True
>>> type(2 > 1)
<class 'bool'>
Similarly, logical operators produce boolean results:
>>> True and False
False
>>> type(True and False)
<class 'bool'>
Truth Tables for Logical Operators
A truth table lists all possible outcomes for a logical expression. For example, the truth table for or is:
| X | Y | X or Y |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
By understanding these operators and how they work in expressions, you’ll have a strong foundation to write more complex Python programs.