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
int
andfloat
data types,+
adds two numbers together and returns the result.2 + 3
returns5
.For the
str
data type,+
attaches the second string to the end of the first and returns the new, longer string.'Launch' + 'Code'
returns'LaunchCode'
.For
int
andfloat
data types,*
multiplies two numbers together and returns the result.12 * 3
returns36
.Between the
str
andint
data types,*
performs a repetition.'Fun' * 3
returns'FunFunFun'
.The
*
operator acts like multiple+
operators.'Fun' * 3
does 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" + "!")