For enquiries call:

Phone

+1-469-442-0620

Easter Sale-mobile

HomeBlogProgrammingHow to Concatenate Strings Using Python

How to Concatenate Strings Using Python

Published
05th Sep, 2023
Views
view count loader
Read it in
12 Mins
In this article
    How to Concatenate Strings Using Python

    The string data type in Python is a very important building block of programming. It is basically a sequence of one or more characters that represent Unicode characters. The characters could be letters, numbers, or symbols. The strings are immutable in nature, which means they are unchanging. Click here to learn more about sys.argv command line arguments in Python. 

    You can implement string formatting techniques in Python, like merging or splitting strings in Python. When you merge or combine two or more strings in Python, it is called string concatenation. 

    In this article, we will understand what concatenation is and its importance. We will delve into different ways of concatenating strings, including the + operator, * operator, and % operator, and take you through various concatenation methods, including the join() method, format() function, the f-string, and StringIO methods. 

    Also, read about Self in Python here!

    What is concatenation in Python? 

    String Concatenation is the operation of joining character strings end-to-end. If you have just started working on Python, you might come through a time when you will need to merge or combine the contents of two or more strings together. In technical terms, this merging or combining of strings together into a single string is called String concatenation. 

    The simplest way to explain concatenation in Python is when you take two separate strings stored in the Interpreter and combine them so that they become one single string. 

    For example, if you take one string as “foot” and another string as “ball” and then merge them using the concatenation technique, it comes out to be a single string “football”. 

    There are several ways in which you can perform string concatenation in Python. However, the simplest method is using the “+” operator. To learn more about string concatenation in Python, explore the best Data Science course in India today.

    What is the need for String formatting in Python? 

    String formatting in Python is a robust and important part of the toolkit of any Python programmer. String formatting techniques have greatly evolved since the time Python was developed. Almost every piece of production software created has its advantage in some way or the other.  

    Formatted strings in Python are evaluated at run time which acts as a basic capability of any high-level language. String concatenation using the “+” operator at a basic level might seem inefficient and difficult to make expressive. This is where Python’s string formatting starting from the “%” formatting to the format() method, comes into action. They exhibit great potential when it comes to crafting strings. 

    How can we concatenate strings in Python? 

    Python comprises a number of ways when it comes to concatenating or combining strings together. Since Python is an object-oriented programming language, everything in Python is an object. So, the new string that is created after concatenation is also referred to as a string object in Python.  

    Let us see what the different ways by which we can concatenate strings in Python are. 

    1. Using the + operator 

    The simplest and most common method of concatenating a string is using the plus symbol (“+”). Let us see an example to understand it better: 

    a = “Python” 
    b = “is” 
    c = “cool” 
    print(a + b + c) 

    Pythoniscool

    Here, we have declared three string variables, “a”, “b,” and “c,” with three different string values. Then, we concatenate the three strings with the help of the “+” operator and display the output using the print statement. The output is the combination of the three strings together.  

    You might use the “+” operator when you have a few strings to concatenate. This is because strings are immutable i.e. they cannot be changed once created. So, for each concatenating statement, the interpreter creates a new object. Thus, it will be quite inefficient if you try to concatenate many strings using the “+” operator. 

    Another disadvantage of the “+” operator is that it does not allow any separator or delimiter between the strings. If you want to concatenate “Hello” and “World” with whitespace as a separator, you need to do something like this “Hello” + “ ” + “World,” and the output will be “Hello World”. Data science bootcamps are the best way to kickstart your Python programming journey with a lot of hands-on exercises.

    2. Using the * operator 

    The asterisk (*) operator is used repeatedly when you want to concatenate the same string. For example, if you have a " red " string and want the same string to be concatenated three times, you use the * operator. The result will be “redredred”.  

    An example to illustrate the concatenation of string using the “*” operator: 

    a = "Python" 
    print(a * 3) 

    PythonPythonPython 

    Here, we have declared a single string variable “a” with a string value. Then, we concatenate the string with the help of the “*” operator and display the output using the print statement. The output combines the string with the same string three times repeatedly. 

    3. Using the join() method 

    The join() method is the most flexible way of concatenating strings in Python. If you have many strings and you want to combine them together, use the join (method. It is a string method, and the most interesting thing about join() is that you can combine strings using a separator. It works on iterators like lists, tuples, strings, dictionaries, etc.  

    An example to illustrate the concatenation of string using the “*” operator: 

    a = "Welcome" 
    b = "to" 
    c = "Python" 
    print(“-”.join([a,b,c])) 

    Welcome-to-Python 

    Here, we have declared three string variables, “a”, “b,” and “c,” with three different string values. Then, we concatenate the three strings with the help of the join(method with “-” as a separator and display the output using the print statement. The output is the combination of the three strings together with the dash (“-”) operator in between the strings. 

    4. Using the % operator 

    The modulus operator (“%”) can be used for string formatting and concatenation. It is useful for cases where you must combine strings and perform basic formatting. 

    An example to illustrate the concatenation of string using the “%” operator: 

    a = "Apple" 
    b = "Shake" 
    print(“% s % s” % (a, b)) 

    Apple Shake 

    Here, we have declared two string variables, “a” and “b,” with two different string values. Then, we concatenate the two strings with the help of the (“%”) and display the output using the print statement.  

    The “% s” denotes the string data type in Python, and the modulus (“%”) operator combines the string stored in the two variables “a” and “b”. The string value in the variables is passed to the string data type, and the output is displayed as the combination of two strings.

    5. Using the format() function 

    The str.format() function is a powerful function in Python that is also used for both String formatting and String Concatenation. This function combines different elements within a string through positional formatting.     

    An example to illustrate the concatenation of string using format() function: 

    a = "Virgin" 
    b = "Mojito" 
    print(“{} {}”.format(a, b)) 

    Virgin Mojito 

    Here, we have declared two string variables, “a” and “b” with two different string values. Then, we concatenate the two strings with the help of the format(function and display the output using the print statement.  

    The curly braces (“{}”) used here are used to fix the string position. The first variable is stored in the first curly braces and the second one in the second curly braces. The job of format(function is to concatenate the strings stored in variables “a” and “b” and display the combined string. 

    6. Using the f-string  

    Formatted string literals or f-strings, in short, are string literals in Python. They contain an f at the beginning and curly braces that contain the expressions. It calls the str() method when an object argument is used as field replacement. 

    Let us see an example to illustrate the concatenation of string using f-string:

    a = "Moscow" 
    b = "Mule" 
    print(f’{a} {b}‘) 

    Moscow Mule 

    Here, we have declared two string variables, “a” and “b,”with two different string values. Then, we concatenate the two strings with the help of the f-string and display the output using the print statement.  

    The f-string expressions are evaluated at runtime, and they are formatted using the __format__ protocol in Python. It is considered a cleaner and easier way of concatenating strings in Python compared to the format() function.

    7. Using StringIO 

    String concatenation using StringIO is also a very flexible way of combining different strings in Python. In this method, we have to import the StringIO() function from the IO module.  

    An example to illustrate the concatenation of string using StringIO:

    from io import StringIO 
    a = StringIO() 
    a.write(“Machine ”) 
    a.write(“Learning”) 
    print(a.getvalue()) 

    Machine Learning 

    Here, we have declared two string variables, “a” and “b” with two different string values. Then, we concatenate the two strings with the help of the StringIO() imported from the IO module and display the output using the print statement.  

    Here, the variable “a” acts as a file object in Python. The write() function is used here to write the string to the file, and the getvalue() function returns the entire content of the file.

    Top Cities Where Knowledgehut Conduct Python Certification Course Online

    Python Course in BangalorePython Course in ChennaiPython Course in Singapore
    Python Course in DelhiPython Course in DubaiPython Course in Indore
    Python Course in PunePython Course in BerlinPython Course in Trivandrum
    Python Course in NashikPython Course in MumbaiPython Certification in Melbourne
    Python Course in HyderabadPython Course in KolkataPython Course in Noida

    Miscellaneous concatenations in Python 

    We have covered all the ways by which we can concatenate different strings in Python. Let us see a few more miscellaneous examples to understand String Concatenation better. 

    1. Concatenate multiple strings 

    There are various ways by which you can concatenate multiple strings in Python. The most common among them is using the plus (“+”) operator. You can combine both string variables and string literals using the “+” operator. 

    However, there’s another method that allows an easy way of concatenating multiple strings. It uses the in-place (+=) operator. The in-place operator concatenates the sequence with the right operand, and the result gets assigned to that sequence. 

    Let us see an example of string concatenation using the (“+=”) operator:

    a = "Artificial " 
    b = "Intelligence" 
    a += b 
    print(a) 

    Artificial Intelligence 

    Here, two string variables, “a” and “b” are declared with two different string values. The string on the right side of the “+=” operator is combined with the string variable on the left side. Then, the output is displayed using the print statement.  

    You can also add a string to the end of a string variable using the “+=” operator: 

    a = "Basket" 
    a += "ball" 
    print(a) 

    Basketball 

    Another way of concatenating multiple strings in Python is just by writing string literals consecutively: 

    a = "Red""Green""Blue" 
    print(a) 

    RedGreenBlue

    2. Concatenate strings and numbers 

    There are numerous ways of concatenating strings in Python. However, not all methods can concatenate strings and numbers. If you use the “+” operator to combine strings and numbers, it will raise errors. This is because strings can hold any recorded characters, but numbers like integers or floats are recorded number values. 

    a = "Rolls Royce " 
    b = 1948 
    print(a + b) 
    Traceback (most recent call last): 
      File "<string>", line 6, in <module> 
    TypeError: can only concatenate str (not "int") to str 

    The error shows that the interpreter can concatenate a string value with another string value but cannot concatenate a string value with an integer. Although, you can overcome this problem with the help of the str() function in Python. It converts any integer or floating-point number into a string.  

    Let us see the same example with the str() function:

    a = "Rolls Royce " 
    b = str(1948) 
    print(a + b) 

    Rolls Royce 1948 

    The str() function converts the integer value 1948 into a string, and then it is concatenated with variable “a,” and the output is displayed using the print statement. 

    You can also use the format() function when you need to convert a number with decimal places or zero padding.

    3. Concatenate a list of strings into one string 

    You can concatenate a list of strings into one string using the join() method. It takes a character as a delimiter string. If you use an empty string as the delimiter, the list of strings will be simply concatenated without any separator.  

    Let us see an example of concatenating a list of strings using the join() function:

    a = ["Apple", "Orange", “Banana”, “Mango”] 
    print(“\n”.join(a)) 
    Apple 
    Orange 
    Banana 
    Mango 

    Here, the variable “a” is a list declared with four different string values. We have used newline (“\n”) as the delimiter in the join() method, which inserts a newline for each of the strings. 

    The output is the four strings, with each string in a new line. 

    You can use any other delimiter like comma (,) or hyphen (-) in the join() method and then perform concatenation. Also, note that thejoin() method can also concatenate other iterators like tuples, sets, dictionaries, etc.

    4. Concatenate a list of numbers into one string 

    Python does not allow the concatenation of strings with numbers or numbers with numbers. However, you can convert a numeric value into a string using the str() method and then perform concatenation. 

    If you want to combine a list of numbers into one string, you first need to convert each integer in a list to a string using the str() function. Then, combine all the converted strings into a single string with the join() method.

    Let us see an example to understand it better: 

    a = [1, 2, 3, 4, 5] 
    b = [str(a) for a in a] 
    print(“;”.join(b)) 
    1;2;3;4;5 

    Here, the variable “a” is a list declared with five integer values. We convert each of the integers into a string using the str() function and store it in variable “b”. Then, we combine them together using the join() method with a colon (;) as the delimiter.

    Here, the variable “a” is a list declared with five integer values. We convert each of the integers into a string using the str() function and store it in variable “b”. Then, we combine them together using the join() method with a colon (;) as the delimiter.

    Some useful tips on concatenation 

    Now let me give you some useful tips on String concatenation in Python: 

    • The string-formatting operator “%” is a potentially fast and suitable operator when you need to concatenate a few pieces of string. Also, you don’t need to call the str() function when combining numbers because this operator does it implicitly. It also enhances the readability of the code. 
    • The join() method is the fastest, cleanest, most elegant, and most readable method when you need to concatenate many small pieces of string into a larger string. 
    • When you have many small pieces of strings that come either from input or computation and are not in a sequence, always use a list to contain the strings. You can use list comprehension or the append method in Python to arrange your list in a sequence.  

    Conclusion 

    Let us summarize what we have learned in this article so far –  

    • Concatenation and its importance. 
    • Different ways of concatenating strings. 
    • Some miscellaneous concatenation methods. 
    • Important tips on concatenating strings. 

    Concatenation is a crucial part of String manipulation in Python. There are numerous ways to perform concatenation. However, some are more useful than others in some cases. Now that you have quite an experience in concatenating strings, you can look out for other string formatting methods that Python provides, or you can check out the PEP article on Advanced String Formatting on Python.org for more information. Moreover, you can enroll in KnowledgeHut best Data Science course in India, and start your Data Science learning path.

    Profile

    Priyankur Sarkar

    Data Science Enthusiast

    Priyankur Sarkar loves to play with data and get insightful results out of it, then turn those data insights and results in business growth. He is an electronics engineer with a versatile experience as an individual contributor and leading teams, and has actively worked towards building Machine Learning capabilities for organizations.

    Share This Article
    Ready to Master the Skills that Drive Your Career?

    Avail your free 1:1 mentorship session.

    Select
    Your Message (Optional)

    Upcoming Programming Batches & Dates

    NameDateFeeKnow more
    Course advisor icon
    Course Advisor
    Whatsapp/Chat icon