Python string concatenation: + operator/join function/format function/f-strings
This time, I will introduce the method of string concatenation in Python.
Here, the Python version is assumed to be 3.x
.
Concatenate with ‘+’ operator
The simplest way is string concatenation using the +
operator.
Some programming languages don’t support string concatenation with the +
operator, but Python has no problem.
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print(txt)
6
7> aaabbbccc
Concatenate between string literals
Python allows strings to be concatenated between string literals without using the +
operator.
However, since I often use strings stored in variables, I have never used this method honestly.
1txt = 'aaa' 'ccc'
2print(txt)
3
4> aaacccc
Join lists with the join () function
Next, concatenate the elements of the string stored in the list. It can be linked with a for statement as follows, but the description will be redundant.
1arr = ['aaa', 'bbb', 'ccc']
2txt = ''
3for t in arr:
4 txt += t
5print(txt)
6
7> aaabbbccc
Now, you can easily join by using the str
type join()
function.
1arr = ['aaa', 'bbb', 'ccc']
2# String join with empty character
3txt = ''.join(arr)
4print(txt)
5
6> aaabbbccc
In the above example, strings are joined by an empty character (''
), but any combination character can be specified.
For example, to combine as a string separated by commas, implement as follows.
1arr = ['aaa', 'bbb', 'ccc']
2txt = ','.join(arr)
3print(txt)
4
5> aaa,bbb,ccc
concatenate with format () function
The format()
function is for converting the format of a string, but since the final output of this function is a string, it can also be used for concatenation. Variables given as arguments are expanded in order for the occurrence of {}
in the template string.
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = '{}{}{}'.format(a, b, c)
5print(txt)
6
7> 'aaabbbccc'
By giving a numerical value like {0}
, it’s possible to expand variables in any order or to expand variables repeatedly.
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = '{0}{2}{1}'.format(a, b, c)
5print(txt)
6
7> 'aaacccbbb'
concatenate with f-strings
In Python 3.6
and above, use f-strings(formatted string literals)
which makes the format()
function easier to use.
This can be used by simply adding a f
or F
before the quotes in the string literal.
Expand any variable in f-strings
, and call any process in {}
.
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = f'{a}{b}{c}'
5print(txt)
6
7> 'aaabbbccc'