4.8. Other Operators¶
Earlier, you learned how to assign, and then reassign a variable:
1 2 3 4 | day = "Thursday"
print(day)
day = "Friday"
print(day)
|
Console Output
Thursday
Friday
One of the most common forms of this involves making the new value of the variable depend on the old value.
Example
1 2 3 4 | my_number = 10
print(my_number)
my_number = my_number + 2
print(my_number)
|
Console Output
10
12
On line 3, the new value of my_number becomes its old value plus 2.
4.8.1. Updating Variables¶
The statement my_number = my_number + 2 takes the current value of
my_number, increases it by 2, then reassigns the result back to
my_number.
Think of the statement as a series of steps:
my_number = my_number + 2
my_number = 10 + 2 # Insert the old value of my_number
my_number = 12 # Do the math and assign the result to my_number
This type of update is so common in Python (and programming in general) that we
have an operator to use as a shortcut. Another way to write my_number = my_number + 2
is below:
my_number += 2
The operator += increases the value of my_number by 2.
+= always increases the value of a first operand by the amount of the
second.
+= is an example of a compound assignment operator, or an operator that
performs two actions in the same statement. These actions are a calculation and
a variable assignment. The table below summarizes four examples of compound assignment
operators.
Operator |
Meaning |
|---|---|
|
|
|
|
|
|
|
|
4.8.2. String Operators¶
So far, we have studied operators that work on numbers, but there are operators
that work on other data types as well. In particular, the + and *
operators can be used with strings.
4.8.2.1. Try It!¶
Let’s compare using + and * with numbers vs. strings.
Examples
Run the following code and examine the output.
Try changing the int and str values to see what happens!
These examples show that the + and * operators behave differently
based on the data type of the operands.
For
intandfloatdata types,+adds two numbers together and returns the result.2 + 3returns5.For the
strdata type,+attaches the second string to the end of the first and returns the new, longer string.'Launch' + 'Code'returns'LaunchCode'.For
intandfloatdata types,*multiplies two numbers together and returns the result.12 * 3returns36.Between the
strandintdata types,*performs a repetition.'Fun' * 3returns'FunFunFun'.The
*operator acts like multiple+operators.'Fun' * 3does the same thing as'Fun' + 'Fun' + 'Fun'.
Note
Combining strings together to form a new, longer string is called string concatenation.
What would this statement print? Paste it into the editor to see!
print('Python' + '!' * 3)
4.8.3. Check Your Understanding¶
Question
What is printed by the following statement?
1 2 3 | first_word = "Python"
second_word = "ROCKS"
print(first_word + second_word)
|
- Python ROCKS
- PythonROCKS
- Python+ROCKS
- ROCKSPython
Question
What is printed by the following statement?
1 2 3 | word = "Python"
excl = "!"
print(word + excl * 3)
|
- Python!!!
- PythonPythonPython!
- Python!Python!Python!
- PythonPythonPython!!!
Question
Which TWO of the following will print Python ROCKS!?
- print("Python" + "ROCKS" + "!")
- print("Python", "ROCKS", "!")
- print("Python", "ROCKS" + "!")
- print("Python" + "ROCKS", "!")
- print("Python " + "ROCKS" + "!")
