Paul's Python Intro 02

Paul Dickson plug-devel@lists.PLUG.phoenix.az.us
Thu Sep 9 12:44:02 2004


In my last message I showed a bit about how to use strings.  A string is
sequence of zero or more character bounded by quotes.  You can use either
single-quotes or double-quotes, the just have to match to enclose the
string.

I developed the habit of using double-quotes from other languages.  That's
the main reason I mostly use them, even though single-quotes are easier to
type (the shift-key isn't needed).

    >>> a='He said "Hello."'
    >>> print a
    He said "Hello."
    >>>

You can also use the backslash to escape the meaning of a character, like
the quote:

    >>> a="He said \"Hello.\""
    >>> print a
    He said "Hello."
    >>>

Not as pretty, but it is useful when you need both quotes in a string.



Last time I also showed some slicing of strings.  You can select a
position in a string using its index.  The first character is accessed as
[0], the last by [-1].  At first glance this is a bit confusing, just
remember positive value go left-to-right and negative values go
right-to-left.  Also, having the index start at zero can be confusing at
first.  As you gain more experience it won't be much of a problem and will
help avoid problems that can occur if sequences started at one.

    >>> a='help'
    >>> a[-1]
    'p'
    >>> a[-3]
    'e'
    >>> a[-4]
    'h'
    >>> a[3]
    'p'
    >>>

Now with slicing you use an index similar to [N:M].  The N is the starting
position and M is the position NOT in the slice.  If you leave the
position blank, the entire string at that end is included:

    >>> b='Testing'
    >>> b[:4]
    'Test'
    >>> b[4:]
    'ing'
    >>> b[4:5]
    'i'
    >>> b[4:4]
    ''
    >>> b[-7:-1]
    'Testin'
    >>> b[-7:]
    'Testing'
    >>>

Last time I also showed you how to lowercase a string.

    >>> b.lower()
    'testing'
    >>> b.upper()
    'TESTING'
    >>> b.upper().lower()
    'testing'
    >>> b.upper().lower().title()
    'Testing'
    >>>

Strings are "objects", so have functionality builtin.  To see a list 
string functions type "help(str)".

In the above, the b.upper() created a new string.  Tacking the .lower() to
that used that new string to create a even newer string, this time in
lower case.  The .title() created a string that is equivalent to original
in the variable b.

The indexing will be seen again when we come to lists in my next message.

	-Paul