Start learning free

LESSON 8 OF 410 · WELCOME TO PYTHON

String Concatenation in Python

Lesson Read the full explanation

TL ; DR:

We can concatenate multiple strings and also variables containing strings with the + operator. This code:

car = "Toyota"
adjective = "awesome"
print("I drive a " + car + "and it's " + adjective)

would output:

I drive a Toyota and it's awesome

Be careful to put whitespaces accordingly when creating messages like this with concatenation.




Full lesson:

We can concatenate strings with the plus operator (+).

Here is a program that concatenates the strings "I love coding. " and "It is fun!" and assigns the resulted string to a variable message:

message = "I love coding. " + "It is fun!"
print(message)

Output:

I love coding. It is fun!

Concatenation with variables:

String concatenation is redundat when used with string literals because we already know what the resulted string would be.

For example, in our program, we could have initialized message directly with the bigger string instead of doing concatenation:

message = "I love coding. It is fun!"
print(message)

String concatenation is used to dynamically generate messages that can be different depending on context.

For example, I might want to print a specific message about my favorite animal, whatever that is:

favorite_animal = "parrot"

message = "My favorite animal is the " + favorite_animal

print(message)

Output:

My favorite animal is the parrot

The value of message will differ if my favorite animal was "dog" or "cat", but it would still make sense.


Concatenating multiple strings:

We can concatenate as many strings as we want in the same line of code by adding a + before each string:

animal = "parrot"
name = "Andy"

print(name + ", that's a nice " + animal + " you got there!")

Output:

Andy, that's a nice parrot you got there!

Be careful to add whitespaces and other characters you want in your message


Assignment
Follow the Coding Tutorial and let's practice with string concatenation!


Hint
Look at the examples above if you get stuck.


STEP 1 OF 1
    Ctrl + Enter to check

    PYTHON · WELCOME TO PYTHON

    String Concatenation in Python, explained

    Introduction

    String concatenation is a fundamental concept in programming that allows you to combine multiple strings into one. This is particularly useful when you need to generate dynamic messages or combine user input with static text. Understanding string concatenation is essential for tasks such as creating user-friendly messages, logging, and data formatting.

    Understanding the Basics

    At its core, string concatenation involves joining two or more strings end-to-end. In Python, this is typically done using the + operator. For example:

    # Basic string concatenation
    greeting = "Hello, " + "world!"
    print(greeting)  # Output: Hello, world!
    

    It's important to understand that the + operator does not add spaces between strings automatically. You need to include spaces explicitly if required.

    Main Concepts

    String concatenation can be done with both string literals and variables. Here are some key concepts:

    • String Literals: Directly written strings in the code.
    • Variables: Containers that hold string values.

    Let's see an example that combines both:

    # Concatenating string literals and variables
    name = "Alice"
    message = "Hello, " + name + "! Welcome to the world of Python."
    print(message)  # Output: Hello, Alice! Welcome to the world of Python.
    

    Examples and Use Cases

    Here are some practical examples of string concatenation:

    # Example 1: Dynamic greeting message
    user_name = "Bob"
    greeting = "Hi " + user_name + ", how are you today?"
    print(greeting)  # Output: Hi Bob, how are you today?
    
    # Example 2: Logging messages
    error_code = "404"
    error_message = "Page not found"
    log_entry = "Error " + error_code + ": " + error_message
    print(log_entry)  # Output: Error 404: Page not found
    

    Common Pitfalls and Best Practices

    When concatenating strings, be mindful of the following:

    • Whitespace: Ensure you add spaces where necessary.
    • Readability: Use parentheses to make complex concatenations more readable.

    Example of improved readability:

    # Improved readability with parentheses
    first_name = "John"
    last_name = "Doe"
    full_name = ("Mr. " + first_name + " " + last_name)
    print(full_name)  # Output: Mr. John Doe
    

    Advanced Techniques

    For more complex string manipulations, consider using formatted strings (f-strings) introduced in Python 3.6:

    # Using f-strings for advanced concatenation
    first_name = "Jane"
    last_name = "Smith"
    full_name = f"Dr. {first_name} {last_name}"
    print(full_name)  # Output: Dr. Jane Smith
    

    Code Implementation

    Here is a comprehensive example that demonstrates various string concatenation techniques:

    # Comprehensive example of string concatenation
    car = "Toyota"
    adjective = "awesome"
    message = "I drive a " + car + " and it's " + adjective
    print(message)  # Output: I drive a Toyota and it's awesome
    
    # Using variables and literals
    favorite_animal = "parrot"
    message = "My favorite animal is the " + favorite_animal
    print(message)  # Output: My favorite animal is the parrot
    
    # Concatenating multiple strings
    animal = "parrot"
    name = "Andy"
    print(name + ", that's a nice " + animal + " you got there!")  # Output: Andy, that's a nice parrot you got there!
    

    Debugging and Testing

    When debugging string concatenation issues, check for missing spaces and ensure all variables are correctly defined. Writing tests can help catch these issues early:

    # Example test cases for string concatenation
    def test_concatenation():
        assert "Hello, " + "world!" == "Hello, world!"
        assert "Hi " + "Alice" == "Hi Alice"
        assert "Error " + "404" + ": " + "Page not found" == "Error 404: Page not found"
    
    test_concatenation()
    

    Thinking and Problem-Solving Tips

    When approaching string concatenation problems:

    • Break down the problem into smaller parts.
    • Use variables to hold intermediate results.
    • Test each part individually before combining them.

    Conclusion

    Mastering string concatenation is crucial for creating dynamic and user-friendly messages in your programs. Practice with different scenarios to become proficient in this fundamental skill.

    Additional Resources

    For further reading and practice, consider the following resources:

    Keep going with PythonAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free