1.4. Strings#
A string in programming is a sequence of characters and is used to handle text data. A string in Python is declared using single or double quotation marks, so 'hello world'
is the same as "hello world"
.
Declaring a string variable is simply done by assigning a variable equal to a string.
variable = "string"
For example, enter the following into the console.
In [30]: string = "hello world"
To output a string we can use the print()
command (printing is explained in more detail here).
print(variable)
Lets print our string
variable, enter the following into the console
In [31]: print(string)
Out[31]: hello world
To define a multiline string we can use triple single or double quotation marks. For example, enter the following into the console[1] (you will need to press the enter key after the word velocity
to continue onto the next line).
In [31]: multiline_string = """What is the air-speed velocity
...: of an unladen swallow?"""
In [32]: print(multiline_string)
What is the air-speed velocity
of an unladen swallow?
1.4.1. Modifying strings#
Python has the following built-in functions that can be used to modify a string.
Function |
Description |
---|---|
|
Converts the characters of a string to uppercase |
|
Converts the characters of a string to lowercase |
|
Remove spaces before and after the characters in a string |
|
Replaces a string with another string |
To demonstrate these enter the following code into the console.
In [33]: string = " Hello World "
In [33]: print(string.upper())
HELLO WORLD
In [32]: print(string.lower())
hello world
In [33]: print(string.strip())
Hello World
In [34]: print(string.replace("l", "x"))
Hexxo Worxd
1.4.2. Concatenating strings#
To concatenate (merge) two or more strings we use the +
operator.
merged_string = string1 + string2
To demonstrate this enter the following into the console.
In [35]: string1 = "hello"
In [36]: string2 = "world"
In [37]: merged_string = string1 + " " + string2
In [38]: print(merged_string)
hello world
Note that we needed to include a space " "
when concatenating the two words, if we didn’t do this the concatenated string would be helloworld
.
1.4.3. Indexing characters in a string#
The characters in a string can be indexed using the character position starting at 0 for the first characeter.
string[ index ]
To demonstrate this enter the following into the console.
In [39]: string = "What have the Romans ever done for us?"
In [40]: print(string[0])
W
In [41]: print(string[10])
t
Here we have printed the 1st and 11th character in string
.
To index a range of characters in a string we use a colon to separate the first and last characters in the range.
string[ first_character_index : last_character_index + 1 ]
To demonstrate this enter the following into the console.
In [42]: print(string[14:25])
Romans ever
Here we have printed the string which consists of the 15th to the 25th character in string
.
Note
A Python string is actually an array of characters so we can use array slicing commands which are covered later to index strings.
1.4.4. Length of a string#
The length of a string is the number of characters in the string and can be determined using the len()
function.
len(string)
To demonstrate this enter the following into the console.
In [43]: print(len(string))
38
So our string is 38 characters long.
1.4.5. Exercise#
Define two string variables for the following:
String 1: “Your mother was a hamster”
String 2: “and your father smelt of elderberries!”
Use your strings to answer the following:
Print string 1 using all lowercase characters
Print string 2 using all uppercase characters
Print string 2 with the word “elderberries” replaced with “roses”
Create another string variable by concatenating string 1 and string 2 and print it
Print the length of your concatenated string
Print the last 30 characters of the concatenated string