Augmented assignment expressions in Python are a shorthand way of updating the value of a variable. These expressions combine an arithmetic operation with an assignment, making the code more concise and readable. They are particularly useful for performing updates to a variable in one line.
1. Basic Augmented Assignment Operators
Here are the basic augmented assignment operators available in Python:
1.1. +=
(Addition Assignment)
Adds the right operand to the left operand and assigns the result to the left operand:
# Addition assignment
x = 10
x += 5 # Equivalent to x = x + 5
print(x) # Output: 15
1.2. -=
(Subtraction Assignment)
Subtracts the right operand from the left operand and assigns the result to the left operand:
# Subtraction assignment
x = 10
x -= 3 # Equivalent to x = x - 3
print(x) # Output: 7
1.3. *=
(Multiplication Assignment)
Multiplies the left operand by the right operand and assigns the result to the left operand:
# Multiplication assignment
x = 4
x *= 3 # Equivalent to x = x * 3
print(x) # Output: 12
1.4. /=
(Division Assignment)
Divides the left operand by the right operand and assigns the result to the left operand. The result is always a float:
# Division assignment
x = 20
x /= 4 # Equivalent to x = x / 4
print(x) # Output: 5.0
1.5. %=
(Modulus Assignment)
Computes the remainder of the division of the left operand by the right operand and assigns the result to the left operand:
# Modulus assignment
x = 10
x %= 3 # Equivalent to x = x % 3
print(x) # Output: 1
1.6. //=
(Floor Division Assignment)
Performs floor division on the left operand by the right operand and assigns the result to the left operand:
# Floor division assignment
x = 17
x //= 5 # Equivalent to x = x // 5
print(x) # Output: 3
1.7. **=
(Exponentiation Assignment)
Raises the left operand to the power of the right operand and assigns the result to the left operand:
# Exponentiation assignment
x = 2
x **= 3 # Equivalent to x = x ** 3
print(x) # Output: 8
2. Using Augmented Assignment in Different Contexts
2.1. Iterating Over a List
Augmented assignment operators are useful in loops where you need to update a running total:
# Sum all elements in a list
numbers = [1, 2, 3, 4, 5]
total = 0
for num in numbers:
total += num # Equivalent to total = total + num
print(total) # Output: 15
2.2. Accumulating Results
Using augmented assignment operators helps to accumulate results efficiently:
# Concatenate strings
result = ""
words = ["Hello", "World", "Python"]
for word in words:
result += word + " " # Equivalent to result = result + word + " "
print(result.strip()) # Output: "Hello World Python"
3. Conclusion
Augmented assignment operators streamline code by combining an arithmetic operation with an assignment. They are a powerful feature in Python that enhance code readability and maintainability.