In this tutorial we will learn about strings in python. We will learn about how to create, edit and delete strings, also we will learn about the associate operations and functions of strings.

What are Strings

Strings are one of most popular aspects of python. We can simply create a string by adding single or double quotes around characters. Now, to create your first string, all you need to do is:

string1 = ‘Hello, I am single quotes’ 
string2 = “Hello, I am double quotes”

Note: Strings are not limited to be enclosed in single or double quotes, rather you can use triple quotes as well to create a multiline string, for example:

#single quotee string1 = 'Hello, I am single quotes' print(string1) #double quotes string2 = "Hello, I am double quotes" print(string2) #triple quotes for multilines string3 = """Hey, I am triple quotes, and you are?""" print(string3)

When you will run the program, the output will be:

Hello, I am single quotes Hello, 
I am double quotes Hey, 
I am triple quotes, and you are?

How Strings are Indexed?

Like any other character in python, characters used in strings are also indexed number wise, where each character takes up a 1 byte of memory and has an address in terms of indexing. For example, if I have a string consisting of the word ‘python’ then each character of ‘python’ has a separate index and memory. Let’s say that I want to access p from the string ‘python’, then I would simply write:

string = 'python' 

Since, indexing always starts from 0, so the first letter will be ‘p’ in this case which is stored at 0 index. The output of the above code will be:


Slicing a String

You can also slice a string by choosing the index number of characters that you want to slice through the slicing method. Let’s slice p from python by omitting index ‘0’ from the rest of the index numbers of characters:

#slicing p from python string = 'python' print(string[1:6])

Positive and Negative Indexing of Strings

We have learned that strings can be indexed positively through numbers starting from 0 onward. However, strings can be indexed negatively as well in the reverse order. For example, to view the last character of the word ‘python’ you can enter the index ‘-1’ to view letter n from ‘python’.


Updating a String Through Slicing

You can update a current string with some other characters using the slicing method:

#updating a string through slicing string = 'Python Tricks' print("New String: " + string[0:6] + " Love")

Deleting a String

You can delete a string too but remember that deleting a character from a string is not possible however you can delete an entire string using del function:

#updating a string through slicing string = 'python' del string print(string) #The output will be null as we have used the del statement to delete the string

Output will be:

Traceback (most recent call last):
  File "", line 4, in 
NameError: name 'string' is not defined

String Operations in Python

There are many string operations that you can do with different data types and variables in Python as we have studied previously as well.

The Concatenate Operation

When you join or ‘add’ to strings together to form one new string, that process is called concatenation. The plus(+) symbol is used to concatenate or join two strings together, for example:

string1 = 'I love' 
string2 = ' Python Programming' 
adding = string1 + string2 

Output of concatenation will be:

I love Python Programming

Let’s do it interactively:

#Adding two strings together string1 = 'I love' string2 = ' Python Programming' adding = string1 + string2 print(adding)

You can also concatenate a string by using the * sign i.e. if you want to print a same string multiple times then you need to multiply the string with that particular number. For example:

#Adding & multiplying two strings together string1 = 'I love' string2 = ' Python Programming ' adding = string1 + string2 multiplying = string1 * 3 print(adding) print(multiplying)

Using Iteration in Strings

You can use a for loop to through the characters in your string quite easily. For example if you want to count the number of characters present in your string then you can simply:

#Counting the number of characters of a string using a for loop string = 'I love Python' count = 0 for letter in string: count = count + 1 print(count)

Testing Sub Strings within a String

You can know easily whether a sub string exists (or doesn’t exist)  within a string by using the in and not in methods. If a sub string exist within a string then the result will be in boolean form resulting True. Similarly, if a sub string doesn’t exist within a string then the boolean value will be False. For example:

#Checking whether a substring is present or not inside a string if 'p' in 'python': print(True) elif 'p' not in 'python': print(False)

Built-in Functions in Strings

Python consists of tons of built-in functions for strings. These functions/method enable strings to produce different result for a particular query. For example, if you want to play around with the text cases of your string, you can create lower(), upper(), title() and capitalize() functions to your strings. For example

string = "I love python tricks" #Creating all letters of your string to lowercase print("Lower case letters:") print(string.lower()) #Creating all letters of your string to uppercase print("Upper case letters:") print(string.upper()) #Creating first letter of each word capital print("Title case letters:") print(string.title()) #Creates first letter of your string capital print("Capital case letters:") print(string.capitalize())

There are tons of other built-in functions that you can learn here

Formatting Strings in Python

While programming, in python you may encounter syntax errors as well caused by the arrangements of characters within a string. To avoid that, we require some string formatting to encounter the relevant issues to solve errors. For example, if you use single quotes and double quotes together in a string, then that might cause an error, unless you tell python to do otherwise. For example, if you use double quotes twice along with a single quote (apostrophe) then the output will be a syntax error:

string = "He asked me, "What's your name?"" 


string = "He asked me, "What's your name?""
SyntaxError: invalid syntax

Now, there are multiple ways to tackle the issue of this syntax error caused by using double quotes or single quotes together. You can use triple quotes around single and quotes to remove this issue or you can use escape sequence (\) to remove the issue.

#Escape single quotes print('He asked me, "What\'s your name?"') #Escaping double quotes print("He asked me, \"What's your name?\"") #Using triple quotes print('''He asked me, "What's your name?"''')

How to Ignore Escape Sequence?

So, previously we have learned about how to use escape sequence to format our strings. Now we will learn about how to use escape sequence as a character within a string by using r or R to ignore escape sequence. Let’s look at the examples:

#Using escape sequence print("This is another line: \nI am a new line") #Ignoring escape sequence print(r"This is another line: \nI am a new line")