Gaddis Python 4e Chapter 08 PPT - Online Exercise - Upload
Gaddis Python 4e Chapter 08 PPT - Online Exercise - Upload
More
About
Strings
2
Copyright © 2018 Pearson Education, Inc.
Basic String Operations
• Many types of programs perform operations on strings
• In Python, many tools for examining and manipulating strings
• Strings are sequences, so many of the tools that work with sequences work with strings
3
Copyright © 2018 Pearson Education, Inc.
Accessing the Individual Characters in a String
• To access an individual character in a string:
• Use a for loop
• Format: for character in string:
• Useful when need to iterate over the whole string, such as to count the occurrences of
a specific character
• Use indexing
• Each character has an index specifying its position in the string, starting at 0
• Format: character = my_string[i]
name = 'Juliet'
for ch in name:
print(ch)
4
Copyright © 2018 Pearson Education, Inc.
name = 'Juliet'
for ch in name:
print(ch)
5
Copyright © 2018 Pearson Education, Inc.
Compare code segments
• Code segments are not the same!!
• Outputs of both segments are different.
• Each iteration of for loop on the left (code in blue) prints out each letter of the string referenced
by ‘name’
• While each iteration of for loop on the right (code in red) prints out the string referenced by
‘name’!
name = 'Juliet'
name = 'Juliet'
for ch in name:
for ch in name:
ch = 'X'
print(ch)
print(name)
6
Copyright © 2018 Pearson Education, Inc.
Program 8-1
• Program is on Moodle as count_Ts.py
• Program is on repl.it: https://repl.it/@KritiChauhan/Ch8Strings as file s81p81_count_Ts.py (in left
panel)
def main():
# Create a variable to use to hold the count.
# The variable must start with 0.
count = 0
7
Copyright © 2018 Pearson Education, Inc.
Accessing the Individual Characters in a String
(cont’d.)
• Indexes are assigned just like they are with lists – starting with 0 for the leftmost character
#IndexError example:
print('example1')
city = 'Boston'
print(city[6])
#IndexError example:
print('\nexample2')
city = 'Boston'
index = 0
while index < 7:
print(city[index])
index += 1
9
Copyright © 2018 Pearson Education, Inc.
String Concatenation
• Concatenation: appending one string to the end of another string
• Use the + operator to produce a string that is a combination of its operands
• The augmented assignment operator += can also be used to concatenate strings
• The operand on the left side of the += operator must be an existing variable; otherwise,
an exception is raised
10
Copyright © 2018 Pearson Education, Inc.
Strings Are Immutable
• Strings are immutable
• Once they are created, they cannot be changed
• Concatenation doesn’t actually change the existing string, but rather creates a new
string and assigns the new string to the previously used variable
• Cannot use an expression of the form
• string[index] = new_character
• Statement of this type will raise an exception
11
Copyright © 2018 Pearson Education, Inc.
Recap
• Topics covered in this section:
• String – for loop over each character
• Indexing
• Negative indexing
• len()
• Concatenation ‘+’ operator
• Immutability (strings)
12
Copyright © 2018 Pearson Education, Inc.
String Slicing
• Slice: span of items taken from a sequence, known as substring
• Slicing format: string[start : end]
• Expression will return a string containing a copy of the characters from start up to,
but not including, end
• If start not specified, 0 is used for start index
• If end not specified, len(string) is used for end index
• Slicing expressions can include a step value and negative indexes relative to end of string
• Slicing format, with step value: string[start : end : step]
• Invalid indexes do not cause slicing expressions to raise exception.
• If the end index specifies a position beyond the end of the string, Python will use the length
of the string instead.
• If the start index specifies a position before the beginning of the string, Python will use 0
instead.
• If the start index is greater than the end index, the slicing expression will return an empty
string.
13
Copyright © 2018 Pearson Education, Inc.
Testing, Searching, and Manipulating
•
Strings
You can use the in operator to determine whether one string is contained in another string
• General format: string1 in string2
• string1 and string2 can be string literals or variables referencing strings
• Similarly you can use the not in operator to determine whether one string is not contained in
another string
14
Copyright © 2018 Pearson Education, Inc.
String Methods
• Strings in Python have many types of methods, divided into different types of operations
• General format:
mystring.method(arguments)
• Some methods test a string for specific characteristics
• Generally Boolean methods, that return True if a condition exists, and False otherwise
15
Copyright © 2018 Pearson Education, Inc.
String Testing Methods
16
Copyright © 2018 Pearson Education, Inc.
String Modification Methods
• Some methods return a copy of the string, to which modifications have been made
• Simulate strings as mutable objects
• String comparisons are case-sensitive
• Uppercase characters are distinguished from lowercase characters
• lower and upper methods can be used for making case-insensitive string comparisons
again = 'y'
while again.lower() == 'y':
print('Hello')
print('Do you want to see that again?')
again = input('y = yes, anything else = no: ')
again = 'y'
while again.upper() == 'Y':
print('Hello')
print('Do you want to see that again?')
again = input('y = yes, anything else = no: ')
17
Copyright © 2018 Pearson Education, Inc.
String Modification Methods (cont’d.)
18
Copyright © 2018 Pearson Education, Inc.
String Search & Replace Methods
• Programs commonly need to search for substrings
• Several methods to accomplish this:
• endswith(substring): checks if the string ends with substring
• Returns True or False
• startswith(substring): checks if the string starts with substring
• Returns True or False
19
Copyright © 2018 Pearson Education, Inc.
String Search & Replace Methods
•
(cont’d.)
Several methods to accomplish this (cont’d):
• find(substring): searches for substring within the string
• Returns lowest index of the substring, or if the substring is not contained in the string,
returns -1
• replace(substring, new_string):
• Returns a copy of the string where every occurrence of substring is replaced with
new_string
20
Copyright © 2018 Pearson Education, Inc.
String Search & Replace Methods
(cont’d.)
21
Copyright © 2018 Pearson Education, Inc.
The Repetition Operator
• Repetition operator: makes multiple copies of a string and joins them together
• The * symbol is a repetition operator when applied to a string and an integer
• String is left operand; number is right
• General format: string_to_copy * n
• Variable references a new string which contains multiple copies of the original string
22
Copyright © 2018 Pearson Education, Inc.
Splitting a String
• split method: returns a list containing the words in the string
• By default, uses space as separator
• Can specify a different separator by passing it as an argument to the split method
23
Copyright © 2018 Pearson Education, Inc.
Summary
• This chapter covered:
• String operations, including:
• Methods for iterating over strings
• Repetition and concatenation operators
• Strings as immutable objects
• Slicing strings and testing strings
• String methods
• Splitting a string
24
Copyright © 2018 Pearson Education, Inc.