Introduction to Strings
In Python, strings can be enclosed in either single quotes or double quotes. For example, 'book'
and "book"
are equivalent.
To print a string literal, you can use the print()
function:
print("The Great Gatsby")
print('The Great Gatsby')
Expected Output:
The Great Gatsby
The Great Gatsby
Using Quotes Within Strings
Quotes can be included inside a string as long as they don’t match the surrounding quotes:
print("It's a good book")
print("He said 'Read more books'")
print('She replied "Books are amazing"')
Expected Output:
It's a good book
He said 'Read more books'
She replied "Books are amazing"
Assigning Strings to Variables
To assign a string to a variable, use the variable name followed by an equal sign and the string:
favorite_book = "1984"
print(favorite_book)
Expected Output:
1984
Multiline Strings
To create a multiline string, use triple quotes. You can use either triple double quotes or triple single quotes:
book_description = """1984 is a dystopian social science fiction novel
and cautionary tale, written by the English writer George Orwell."""
print(book_description)
book_description = '''1984 is a dystopian social science fiction novel
and cautionary tale, written by the English writer George Orwell.'''
print(book_description)
Note that line breaks in the output will match those in the code.
Expected Output:
1984 is a dystopian social science fiction novel
and cautionary tale, written by the English writer George Orwell.
Strings as Arrays
Strings in Python are essentially arrays of bytes representing Unicode characters. Unlike some languages, Python does not have a distinct character type; a single character is just a string of length 1. You can access individual characters using square brackets:
book_title = "The Catcher in the Rye"
print(book_title[4])
Expected Output:
C
Looping Through a String
Since strings are iterable, you can loop through each character using a for
loop:
for letter in "Moby Dick":
print(letter)
Expected Output:
M
o
b
y
D
i
c
k
Getting String Length
To find the length of a string, use the len()
function:
book_title = "Pride and Prejudice"
print(len(book_title))
Expected Output:
19
Checking for Substrings
To check if a substring exists within a string, use the in
keyword:
quote = "The pen is mightier than the sword."
print("pen" in quote)
Expected Output:
True
You can use this in an if
statement as well:
if "pen" in quote:
print("Yes, 'pen' is present.")
Expected Output:
Yes, 'pen' is present.
Checking for Absence
To check if a substring is not present in a string, use the not in
keyword:
quote = "The pen is mightier than the sword."
print("book" not in quote)
Expected Output:
True
It can also be used in an if
statement:
if "book" not in quote:
print("No, 'book' is NOT present.")
Expected Output:
No, 'book' is NOT present.
String Slicing
Strings can be sliced to obtain a range of characters. Use the slice syntax with start and end indices:
book_title = "To Kill a Mockingbird"
print(book_title[3:7])
Expected Output:
Kill
If you omit the start index, slicing will start from the beginning of the string:
print(book_title[:2])
Expected Output:
To
Modifying Strings
Python offers several methods to modify strings:
Upper Case
book_title = "To Kill a Mockingbird"
print(book_title.upper())
Expected Output:
TO KILL A MOCKINGBIRD
Lower Case
book_title = "To Kill a Mockingbird"
print(book_title.lower())
Expected Output:
to kill a mockingbird
Removing Whitespace
Use strip()
to remove whitespace from the start and end of a string:
book_title = " War and Peace "
print(book_title.strip())
Expected Output:
War and Peace
String Concatenation
To concatenate strings, use the +
operator:
book_title1 = "Pride"
book_title2 = "Prejudice"
full_title = book_title1 + " and " + book_title2
print(full_title)
Expected Output:
Pride and Prejudice
String Formatting
To combine strings with numbers, use f-strings or the format()
method:
F-Strings
book_count = 5
txt = f"I have {book_count} books."
print(txt)
Expected Output:
I have 5 books.
Format Method
price = 19.99
txt = "The price of the book is {:.2f} dollars".format(price)
print(txt)
Expected Output:
The price of the book is 19.99 dollars