Introduction to Computing Using Pytho
Methods on strings and
other things
Strings, revisited
Objects and their methods
Indexing and slicing
Some commonly used string methods
Introduction to Computing Using Pytho
Remember: What is a string?
A string is a sequence of zero or more
characters
A string is delimited by (begins and ends with)
single or double quotes
poem = 'Ode to a Nightingale'
lyric = "Roll on, Columbia, roll on"
exclamation = "That makes me !#? "
The empty string has zero characters ('' or
"")
Introduction to Computing Using Pytho
Quote characters in strings
You can include a single quote in a double
quoted string or a double quote in a single
quoted string
will = "All the world's a stage"
ben = 'BF: "A penny saved is a penny earned"'
To put a single quote in a single quoted string,
precede it with the backslash ('\') or 'escape'
character.
>>> will = 'All the world\'s a stage'
>>> print(will)
All the world's a stage
The same goes for double quotes
>>> ben = "BF: \"A penny saved is a penny earned\""
>>> print(ben)
Introduction to Computing Using Pytho
Putting a format character in
a string
A format character is interpreted by print() to
change the layout of text
To put a format character in a string, precede it
with the backslash ('\')
A newline is represented by '\n'
>>> juliette = 'Good night, good night\nParting is
such sweet sorrow'
>>> print(juliette)
Good night, good night
Parting is such sweet sorrow
A tab is represented by '\t'
>>> tabs = 'col0\tcol1\tcol2'
>>> print(tabs)
col0
col1
col2
Introduction to Computing Using Pytho
Index of string characters
The first character of a string has index 0
>>> greeting = 'hello, world'
>>> greeting[0]
'h'
>>> 'hello, world'[0]
'h'
You can also count back from the end of a
string, beginning with -1
>>> greeting = 'hello, world'
>>> greeting[-1]
'd'
>>> 'hello, world'[-1]
'd'
Introduction to Computing Using Pytho
Slicing a string
You can use indexes to slice a string
aStr[i:j] is the substring that begins with index
i and ends with (but does not include) index j
>>> greeting = 'hello, world'
>>> greeting[1:3]
'el'
>>> greeting[-3:-1]
'rl'
omit begin or end to mean 'as far as you can
go'
>>> print(greeting[:4], greeting[7:])
hell world
aStr[i:j:k] is the same, but takes only every kth character
>>> greeting[3:10:2]
Introduction to Computing Using Pytho
List index vs string index
How they're the same and how they're different
SAME:
You can index a list (or tuple), beginning
with 0 from the left or -1 from the right.
You can slice a list using begin and end
([i:j]) or begin, end and step ([i:j:k])
You can omit begin or end ([:j] or [i:]) to
mean 'as far as you can go'
Introduction to Computing Using Pytho
List index vs string index
(continued)
DIFFERENT:
if you take a single element of a list with
the index operator ([i]), its type is the type
of that element
>>> abc = ['a', 'b', 'c']
>>> abc[0]
'a'
>>> type(abc[0])
<class 'str'>
If you slice a list with begin and end ([i:j]),
you get a sublist (type list)
>>> abc[0:2]
['a', 'b']
>>> type(abc[0:2])
<class 'list'>
Introduction to Computing Using Pytho
String methods
A method is a function that is bundled
together with a particular type of object
A string method is a function that works on a
string object
This is the syntax of a method:
anObject.methodName(parameterList)
For example,
>>> 'avocado'.index('a')
0
returns the index of the first 'a' in 'avocado'
You can also use a variable of type string
>>> fruit = 'avocado'
>>> fruit.index('a')
0
Introduction to Computing Using Pytho
Method parameters
Like any function, a method may have zero or
more parameters
Even if the parameter list is empty, the
method still works on the 'calling' object:
>>> 's'.isupper()
False
Here is a string method that takes two
parameters:
>>> aStr = 'my cat is catatonic'
>>> aStr.replace('cat', 'dog')
'my dog is dogatonic'
Introduction to Computing Using Pytho
Strings are immutable
A string is immutable -- once created it can not
be modified
When a string method returns a string, it is a
different object; the original string is not
changed
>>>
>>>
>>>
'my
>>>
'my
aStr =
newStr
newStr
dog is
aStr
cat is
'my cat is catatonic'
= aStr.replace('cat', 'dog')
dogatonic'
catatonic'
However, you can associate the old string
name with the new object
>>> aStr = 'my cat is catatonic'
>>> aStr = aStr.replace('cat', 'dog')
>>> aStr
Introduction to Computing Using Pytho
Python string methods
Python has many very useful string methods
You should always look for and use an existing
string method before coding it again for
yourself. Here are some
s.capitalize()
s.count()
s.endswith() / s.startswith()
s.find() / s.index()
s.format()
s.isalpha()/s.isdigit()/s.islower()/s.isspace()
s.join()
s.lower() / s.upper()
s.replace()
s.split()
s.strip()
Introduction to Computing Using Pytho
Python string method
documentation
You can find the meaning of each of these
string methods in the Python documentation
String methods are in Python 3.3.0
documentation 4.7.1
Operations that strings in Python share with
other sequence types, both mutable and
immutable, are documented in 4.6.1. For
example:
x in s
x not in s
s + t
s*n / n*s
len(s)
min(s)
max(s)
Introduction to Computing Using Pytho
Strings and the print()
function
The print() function always prints a string. (Just
as the input() function always inputs a string.)
Every object in Python has a string
representation. Therefore, every object can be
printed.
When you print a number, a list or a function it
is the string representation of the object that is
printed
print() takes 0 or more arguments and prints
their string representations, separated by
spaces
>>> print('pi =', 3.14)
pi = 3.14
>>> def f():
Introduction to Computing Using Pytho
The print() separator and
end
By default, print() separates its outputs with
spaces
You can change this to any string that you
want, for example, a colon and a space (': ')
>>> print(1, 2, 3, sep=': ')
1: 2: 3
By default, print() ends its output with a
newline ('\n')
>>> for i in range(3):
print(i)
0
1
2
You can change this, for example, to a hyphen
>>>for i in range(3):
Introduction to Computing Using Pytho
The string format method
The string format() method allows you very
detailed control over what is printed and its
arrangement (including alignment; width; your
choice of date, time and number formats; and
many other things).
Here is an example of how s.format() can be
used to control what is printed:
>>> print('{} is {}'.format('Big Bird', 'yellow'))
Big Bird is yellow
>>> print('{} is {}'.format('Oscar', 'grumpy'))
Oscar is grumpy