Skip to main content
Contents Index
Search Book
Search Results:
No results.
Readability settings Prev Up Next Scratch ActiveCode Profile
title here
\(
\newcommand{\lt}{<}
\newcommand{\gt}{>}
\newcommand{\amp}{&}
\definecolor{fillinmathshade}{gray}{0.9}
\newcommand{\fillinmath}[1]{\mathchoice{\colorbox{fillinmathshade}{$\displaystyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\textstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptscriptstyle\phantom{\,#1\,}$}}}
\)
Section 7.5 Strings are immutable
It is tempting to use the operator on the left side of an assignment, with the intention of changing a character in a string. For example:
The
greeting string is an example of an
object and the character you tried to assign is an example of an
item . For now, think of an object as a special virtual construction. Objects have special properties. Strings, for example, are objects that hold a sequence of characters. An item is one of the values in a sequence.
The reason for the error is that strings are
immutable , which means that you can’t modify an existing string. The best you can do is create a new string that is a variation on the original:
This example concatenates a new first letter onto a slice of
greeting. It has no effect on the original string.
Or, you can reassign an existing variable to a completely new string:
This example assigns the
greeting variable to represent a new string object. The old string object is deleted in the process.
Activity 7.5.1 .
Given the following code segment, what is the value of the string s1 after the code is executed?
s1 = 'xy'
s2 = s1
s1 = s1 + s2 + 'z'
xyz
Incorrect! Think about the values of s1 and s2 before line 3, then use those to determine the value of s1 in line 3. Try again.
xyxyz
Correct! The right side of the assignment statement is evaluated, then s1 is redefined to be equal to that, so s1 becomes xyxyz.
xy xy z
Incorrect! No spaces are added during concatenation. Try again.
There is an error
Incorrect! The right side of the assignment statement is evaluated, then s1 is redefined to be equal to that. Try again.
Activity 7.5.2 .
What is printed by the following statements:
s = "Ball"
s[0] = "C"
print(s)
Ball
Incorrect! Assignment is not allowed with strings. Try again.
Call
Incorrect! Assignment is not allowed with strings. Try again.
C
Incorrect! Assignment is not allowed with strings. Try again.
Nothing, there is an error
Correct! Strings are immutable.
Activity 7.5.3 .
You have attempted
of
activities on this page.