Page 78 - Python Basics: A Practical Introduction to Python 3
P. 78

4.2. Concatenation, Indexing, and Slicing


            Instead of returning the entire string, [-7:0] returns the empty string:


            >>> flavor[-7:0]
            ''

            This happens because the second number in a slice must correspond
            to a boundary that is to the right of the boundary corresponding to the
            first number, but both -7 and 0 correspond to the leftmost boundary
            in the figure.

            If you need to include the final character of a string in your slice, then
            you can omit the second number:

            >>> flavor[-7:]
            'fig pie'

            Of course, using flavor[-7:] to get the entire string is a bit odd consid-
            ering that you can use the variable flavor without the slice to get the
            same result!

            Slices with negative indices are useful, though, for getting the last few
            characters in a string. For example, flavor[-3:] is "pie".


            Strings Are Immutable

            To wrap this section up, let’s discuss an important property of string
            objects. Strings are immutable, which means that you can’t change
            them once you’ve created them. For instance, see what happens when
            you try to assign a new letter to one particular character of a string:

            >>> word = "goal"
            >>> word[0] = "f"
            Traceback (most recent call last):
              File "<pyshell#16>", line 1, in <module>
                word[0] = "f"
            TypeError: 'str' object does not support item assignment







                                                                          77
   73   74   75   76   77   78   79   80   81   82   83