What are the most common string operators used in Python and why they’re essential to know?
It doesn’t take long when you begin programming in Python to work with strings and to start modifying these strings by using common operators.
Here I’ll look at 5 of the most common string operators I use in my own Python code and how you can use them in your own code.
1. String Concatenation
One of the first questions most new Python programmers seek to perform with strings is combining two or more together. This technique is known as string concatenation.
To concatenate two or more strings together in Python use the +
operator as if you were adding two numbers together.
Here’s an example in the Python REPL:
|
|
As you can see from the above example you can easily combine strings together by just placing the +
sign between them.
If you try to combine a string with an integer, or some other data type that isn’t a string, you will get a TypeError
shown like this:
|
|
To avoid getting TypeError
errors ensure that you are operating with variables that are of the type str
, if in doubt use the built-in str()
method that converts both variables to a string like so:
|
|
As you can see using the str()
method helps to convert a number into a string making it available for combining with another string.
2. String Slicing And Reversing
Next in popularity is slicing up a string. While there is no subtraction (i.e. -
) permitted between strings as there is with addition, there is an operator that can help cut a string up and this is the very handy slice operator.
Its structure looks like this and contains three parameters, all of which are optional and have default values if excluded:
|
|
The first parameter start
is the starting index value of the character in the string you want to begin extraction or capture, remembering that the first character in a string starts with index 0
. If the start
parameter is left blank the capture begins with the first character, therefore, using 0
may help with readability of your code but is redundant.
The second parameter stop
is the ending index value of where capture from the string ends and is exclusive. This means if an index number is placed at this position in the slice operator the capture will not include the character at the index number. If the stop
parameter is blank the capture goes to the very end of the string.
The third parameter step
is the frequency of capture from the start
to the stop
index number. If the step
parameter is not set the default value is 1
.
Here are some examples demonstrating the slice operator:
|
|
In this example above you can see I’ve reversed the string by using just the step
parameter and entering -1
.
|
|
In this example a simple extraction of the first four characters from a string using the stop
parameter only.
|
|
In this example, you can extract a specific string when setting both the start
and stop
parameters. A negative number starts the count from the end of the string, with -1
representing the last character in the string, -2
the second last character (etc).
To explore more instances of the slice operator check out these articles: extracting the first and last n characters from a string, removing the last character from a string, removing a file extension from a string.
3. String Expansion
Another popular operator using the multiplication sign *
is when you want to expand the contents of a string into all of its individual characters. This is where the multiplication sign is inserted at the beginning of a variable, one containing a string for example, and you want the contents printed in a specific way.
Here’s an example illustrating the asterisk operator:
|
|
This operator allows for the expansion of a string into its individual parts being the characters that make up the string itself.
4. String Repetition
Besides using the multiplication sign *
at the beginning of a string variable the same sign can be used to multiply an instance of a string. This can be useful when creating a string with a repeating component to it.
Here’s how the string multiplication looks:
|
|
As you can see from the example above by using the multiplication sign on a string you can repeat the pattern the quantity of times it is being multiplied.
What happens when you multiply by a negative number?
|
|
When multiplying by a negative number it produces a blank or empty string.
5. String Contains
The last operator you will use frequently in your Python coding is the in
operator (or its inverse not in
) which checks if a string can be found within another string. The result of this operation is a boolean result which confirms the string can be found by returning True
or if it cannot be found returning False
.
Here’s an example demonstrating this operator:
|
|
As the example above shows the string Hello
can be found in Hello world
you must make sure you are consistent with your case when checking for strings. If case isn’t an issue then you might want to consider using .lower()
or .upper()
string case methods matching the checking string’s case.
|
|
What Operators Cannot Be Used?
Most operators in Python are used with numbers such as modulus %
or division /
or quotient //
, therefore, there are many other operators that cannot be used with strings. As demonstrated above addition and multiplication can be used, but most other common operators like subtraction and division cannot.
Summary
The most popular types of operators used with strings in Python are those which help with concatenation, slicing or reversing, expanding a string into characters, repeating a string multiple times and checking if a string is found in another string.
Master these operators and you will find your Python coding skills improve.