7 Ways to Concatenate Strings in Python
Summary: in this tutorial, you’ll learn various ways to concatenate strings in Python.
Python provides you with various ways to concatenate one or more strings into a new string.
Since Python string is immutable, the concatenation always results in a new string.
1) Concatenating literal strings
To concatenate two or more literal strings, you just need to place them next to each other. For example:
s = 'String' ' Concatenation'
print(s)
Output:
String Concatenation
Note that this way won’t work for the string variables.
2) Concatenating strings using the + operator
A straightforward way to concatenate multiple strings into one is to use the + operator:
s = 'String' + ' Concatenation'
print(s)
And the + operator works for both literal strings and string variables. For example:
s1 = 'String'
s2 = s1 + ' Concatenation'
print(s2)
Output:
String Concatenation
3) Concatenating strings using the += operator
Similar to the + operator, you can use the += operator to concatenate multiple strings into one:
s = 'String'
s += ' Concatenation'
print(s)
Output:
String Concatenation
4) Concatenating strings using the join() method
The join()
method allows you to concatenate a list of strings into a single string:
s1 = 'String'
s2 = 'Concatenation'
s3 = ”.join([s1, s2])print(s3)
Output:
StringConcatenation
The join()
method also allows you to specify a delimiter when concatenating strings. For example:
s1 = 'String'
s2 = 'Concatenation'
s3 = ‘ ‘.join([s1, s2])print(s3)
Output:
String Concatenation
In this example, we use the join()
method to concatenate strings delimited by a space.
The following example use the join()
method to concatenate strings delimited by a comma:
s1, s2, s3 = 'Python', 'String', 'Concatenation'
s = ','.join([s1, s2, s3])
print(s)
Output:
Python,String,Concatenation
5) Concatenating strings using the %-formatting
String objects have the built-in % operator that allows you to format strings. Also, you can use it to concatenate strings. For example:
s1, s2, s3 = 'Python', 'String', 'Concatenation'
s = '%s %s %s' % (s1, s2, s3)
print(s)
Output:
Python String Concatenation
In this example, Python substitutes a %s
in the literal string by the corresponding string variable in the tuple that follows the %
operator.
6) Concatenating strings using the format() method
You can use the format()
method to concatenate multiple strings into a string. For example:
s1, s2, s3 = 'Python', 'String', 'Concatenation'
s = '{} {} {}'.format(s1, s2, s3)
print(s)
Output:
Python String Concatenation
In this example, you use the {}
in the string literal and pass the string that you want to concatenate to the format()
method. The format()
method substitutes the {}
by the corresponding string argument.
7) Concatenating strings using f-strings
Python 3.6 introduced the f-strings that allow you to format strings in a more concise and elegant way.
And you can use the f-strings to concatenate multiple strings into one. For example:
s1, s2, s3 = 'Python', 'String', 'Concatenation'
s = f'{s1} {s2} {s3}'
print(s)
Output:
Python String Concatenation
Which method should you use to concatenate strings
Even though there’re multiple ways to concatenate strings in Python, it’s recommended to use the join()
method, the +
operator, and f-strings to concatenate strings.