Strings Basics

Intro to Python Strings

A string is a sequence - an ordered collection of values.

Strings are always in single or double quotes and often viewed as text blobs. Some examples of strings in Python programs are:

  • song lyrics
  • names of people
  • conversation text

Here is an example of a string.

computer = "apple"

Note a string is a data type of a variable - just as an int and float are other example of data types.

type(computer)
str

A string is a sequence

Just like any Python sequence, you can access the characters.

You can access a single character. Here we access the first item in the sequence - the letter a.

computer = "apple"
computer[0]
'a'

The expression in brackets above is considered an index. The index of any sequence in computer science starts at 0.

Get the length of the sequence

An important built-in Python function len returns the number of characters in a sequence.

computer = "apple"

This variable computer is assigned to the string apple and that string has 5 letters. So the length of this sequence should be 5.

len(computer)
5

Traverse with a for loop

In Python, you may need to perform computations on each character in a string.

To do so, select each character, do some computation and continue until the end. This pattern is called a traversal.

Commonly, you'll traverse a string with a for loop. Let's do that to our variable computer.

We'll count the number of times the letter p appears. We should get an answer of 2 since there are two p's in the string apple.

count_of_p = 0

for letter in computer:
    if letter == 'p':
        count_of_p += 1
count_of_p
2

In the snippet above, the computation is called a counter because count_of_p is assigned to the int value of 0 and stores the value for the count of the letter p in our string.

Strings are immutable

Strings are immutable - you cannot change an existing string in place.

Let's say we have a variable greeting below that's a string.

greeting = "Hello Dan"

We cannot change this greeting variable.

We can create a new_greeting variable that is a variation of the original.

new_greeting = greeting + "!"
new_greeting
'Hello Dan!'

The in operator

The word in is a boolean operator that takes two strings and returns True if the first string appears as a substring in the second.

The string "a" is contained in "banana".

"a" in "banana"
True

The string "bat" is not contained in the string "banana".

"bat" in "banana"
False

Compare strings

The == operator works on strings to compare if they're equal. If the two are equal, it returns True, otherwise, it returns False.

"dan" == "dan"
True

Strings are case sensitive so an uppercase and lowercase letter are different.

"dan" == "Dan"
False
"dan" == "mary"
False

We can also compare strings for alphabetical order.

We know the letter a appears in the alphabet before the letter d. So a is less than d.

"a" < "d"
True

We can compare whole words too. Think of this as evaluating which word you'd find first in a dictionary book.

Letter c comes before letter d.

"cat" < "dog"
True

The expression below is False becuase we find words that start with ca before words with co in a dictionary book since a is alphabetically before o.

"cat" > "cow"
False