Your Page Title
🔍

    How to print in same line in Python

    1. Using the end Parameter in print()

    The print() function by default ends its output with a newline (\n). To print on the same line, you can use the end parameter to replace the newline with another character, such as a space.

    Syntax:

    print("text", end="replacement_string")
    • Default behavior: end="\n" (adds a newline after the printed text).
    • If you change end to another value (like a space), it prevents the newline.
    print("Welcome", end=" ")
    print("to Jobinge")

    Output:

    Welcome to Jobinge

    Explanation:

    • The first print() outputs "Welcome" without adding a newline, as end=" " replaces it with a space.
    • The second print() outputs "to Jobinge" immediately after.

    2. Using String Concatenation or Formatting

    You can concatenate strings or format them to print everything in a single statement on the same line.

    Example 1: String Concatenation

    print("Welcome" + " " + "to Jobinge")

    Output:

    Welcome to Jobinge

    Explanation:

    • "Welcome", a space (" "), and "to Jobinge" are concatenated into a single string and printed.

    Example 2: String Formatting with f-strings

    platform = "Jobinge"
    print(f"Welcome to {platform}")

    Output:

    Welcome to Jobinge

    Explanation:

    • Using f-strings (formatted strings), the value of platform is dynamically inserted into the string.

    3. Printing in a Loop on the Same Line

    When printing multiple items in a loop, use the end parameter to avoid starting a new line for each iteration.

    Example:

    for word in ["Welcome", "to", "Jobinge"]:
        print(word, end=" ")

    Output:

    Welcome to Jobinge

    Explanation:

    • Each word is printed on the same line with a space (end=" ") instead of a newline after each print().

    4. Flushing the Output in Real-Time

    Sometimes, when printing in loops, the output may be buffered (delayed). Use flush=True to force immediate display of the output.

    Example:

    import time
    
    for word in ["Welcome", "to", "Jobinge"]:
        print(word, end=" ", flush=True)
        time.sleep(1)

    Output (appears one word at a time):

    Welcome to Jobinge

    Explanation:

    • The flush=True forces immediate printing of each word.
    • time.sleep(1) adds a 1-second delay for demonstration.

    5. Using sys.stdout.write

    For precise control over output, use sys.stdout.write(). Unlike print(), it does not automatically add a newline (\n).

    Example:

    import sys
    
    sys.stdout.write("Welcome ")
    sys.stdout.write("to Jobinge\n")

    Output:

    Welcome to Jobinge

    Explanation:

    • sys.stdout.write("Welcome ") writes "Welcome " without adding a newline.
    • sys.stdout.write("to Jobinge\n") appends "to Jobinge" followed by a newline (\n).

    Summary

    The best ways to print in the same line are given below:

    1. For simple cases, use print(..., end="...").
    2. Use string concatenation or f-strings to combine dynamic content.
    3. Use flush=True for real-time output in loops.
    4. Use sys.stdout.write for low-level control.