CSM-2170 Chapter 8 (Strings) PDF
Document Details
Uploaded by PleasurableNewton3147
College of Southern Maryland
2024
Reham Hamdy Abou-Zaid
Tags
Summary
This document is chapter 8 of a Python programming textbook. It explains different string operations and methods in Python, including string slicing, concatenating strings, testing strings (like checking if they contain only digits or alphabetic characters), and splitting strings.
Full Transcript
Starting out with Python Fourth Edition Chapter 8 More About Strings Reham Hamdy Abou-Zaid, 2024 Topics Basic String Operations String Slicing Testing, Searching, and Manipulating Strings Basic String Operations Many types of programs perf...
Starting out with Python Fourth Edition Chapter 8 More About Strings Reham Hamdy Abou-Zaid, 2024 Topics Basic String Operations String Slicing Testing, Searching, and Manipulating Strings 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 Accessing the Individual Characters in a String (1 of 4) 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] Accessing the Individual Characters in a String (2 of 4) Iterating over the string 'Juliet' Example: Accessing the Individual Characters in a String Using for Loop Accessing the Individual Characters in a String (3 of 4) String indexes Getting a copy of a character from a string Accessing the Individual Characters in a String (4 of 4) IndexError exception will occur if: You try to use an index that is out of range for the string Likely to happen when loop iterates beyond the end of the string Or Accessing the Individual Characters in a String len(string) function can be used to obtain the length of a string Useful to prevent loops from iterating beyond the end of a string 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 Strings Are Immutable (1 of 2) 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 Strings Are Immutable (2 of 2) The string ‘Carmen’ assigned to name The string ‘Carmen Brown’ assigned to name Note: The original string, 'Carmen' is no longer usable because no variable references it. 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 String Slicing 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 Output: String Slicing Example: String Slicing Example: String Slicing Note: the function was not called in Program 8-3, It is imported in Program 8-4 Searching, Testing, 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 Searching, Testing, and Manipulating Strings Similarly you can use the not in operator to determine whether one string is not contained in another string String Methods (1 of 7) 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 String Methods (2 of 7) Some string testing methods Method Description isalnum() Returns true if the string contains only alphabetic letters or digits and is at least one character in length. Returns false otherwise. isalpha() Returns true if the string contains only alphabetic letters and is at least one character in length. Returns false otherwise. isdigit() Returns true if the string contains only numeric digits and is at least one character in length. Returns false otherwise. islower() Returns true if all of the alphabetic letters in the string are lowercase, and the string contains at least one alphabetic letter. Returns false otherwise. isspace() Returns true if the string contains only whitespace characters and is at least one character in length. Returns false otherwise. (Whitespace characters are spaces, newlines (\n), and tabs (\t). isupper() Returns true if all of the alphabetic letters in the string are uppercase, and the string contains at least one alphabetic letter. Returns false otherwise. String Methods (Testing string) isdigit()Example String Methods (Multiple Methods Example) String Methods (Modifications) (3 of 7) 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 String Modification Methods (4 of 7) Method Description lower() Returns a copy of the string with all alphabetic letters converted to lowercase. Any character that is already lowercase, or is not an alphabetic letter, is unchanged. lstrip() Returns a copy of the string with all leading whitespace characters removed. Leading whitespace characters are spaces, newlines (\n), and tabs (\t) that appear at the beginning of the string. lstrip(char) The char argument is a string containing a character. Returns a copy of the string with all instances of char that appear at the beginning of the string removed. rstrip() Returns a copy of the string with all trailing whitespace characters removed. Trailing whitespace characters are spaces, newlines (\n), and tabs (\t) that appear at the end of the string. rstrip(char) The char argument is a string containing a character. The method returns a copy of the string with all instances of char that appear at the end of the string removed. strip() Returns a copy of the string with all leading and trailing whitespace characters removed. strip(char) Returns a copy of the string with all instances of char that appear at the beginning and the end of the string removed. upper() Returns a copy of the string with all alphabetic letters converted to uppercase. Any character that is already uppercase, or is not an alphabetic letter, is unchanged. String Modification Methods (lower() and upper() Examples) String Methods (Searching and Replacing) (5 of 7) 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 String Methods endwith() (Example) String Methods (6 of 7) Several methods to accomplish this: 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 String Methods (find() Example) find() replace() String Methods (7 of 7) Method Description endswith(substring) The substring argument is a string. The method returns true if the string ends with substring. find(substring) The substring argument is a string. The method returns the lowest index in the string where substring is found. If substring is not found, the method returns −1. replace(old, new) The old and new arguments are both strings. The method returns a copy of the string with all instances of old replaced by new. startswith(substring) The substring argument is a string. The method returns true if the string starts with substring. String Methods Example Add valid_password function in the login module Then import the login module into validate_password program 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 The Repetition Operator Example Splitting a String (1 of 2) 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 Splitting a String (2 of 2) String Tokens (1 of 4) Sometimes a string contains substrings that are separated by a special character Example: 'peach raspberry strawberry vanilla' This string contains the substrings peach, raspberry, strawberry, and vanilla The substrings are separated by the space character The substrings are known as tokens and the separating character is known as the delimiter String Tokens (2 of 4) Example: '17;92;81;12;46;5' This string contains the tokens 17, 92, 81, 12, 46, and 5 The delimiter is the ; character String Tokens (3 of 4) Tokenizing is the process of breaking a string into tokens When you tokenize a string, you extract the tokens and store them as individual items In Python you can use the split method to tokenize a string String Tokens (4 of 4) >>> str = 'peach raspberry strawberry vanilla' >>> tokens = str.split() >>> tokens ['peach', 'raspberry', 'strawberry', 'vanilla'] >>> >>> my_address = 'www.example.com' >>> tokens = my_address.split('.') >>> tokens ['www', 'example', 'com'] >>> 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