Format String in Python – Simplified Guide for Beginners
Python provides multiple ways to format strings, enabling developers to easily insert variables into text strings. These formatting options can be used to create dynamic output or to improve the readability of code.
[lwptoc]

Using % Operator
One common way to format strings in Python is using the % operator. This method involves placing placeholders in the string that indicate where variables should be inserted, followed by a tuple of values to substitute into those placeholders. For example:
name = "Alice"
age = 30
formatted_string = "My name is %s and I am %d years old." % (name, age)
print(formatted_string)
This will output: “My name is Alice and I am 30 years old.”
Using str.format()
Another way to format strings in Python is using the str.format() method. With this approach, you can insert variables into a string using curly braces {} as placeholders. Here’s an example:
name = "Bob"
age = 25
formatted_string = "My name is {} and I am {} years old.".format(name, age)
print(formatted_string)
This will also output: “My name is Bob and I am 25 years old.”
Using f-strings
Python 3.6 introduced a new way to format strings called f-strings. This method allows you to embed expressions inside curly braces {} within a string. Here’s how it works:
name = "Charlie"
age = 35
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string)
This will produce the same output: “My name is Charlie and I am 35 years old.”
Conclusion
Formatting strings in Python is essential for creating clear and concise code. The % operator, str.format(), and f-strings all provide convenient ways to insert variables into strings. Choosing the right method depends on personal preference and the version of Python being used.
FAQs
Can I combine different formatting methods in Python?
Yes, you can mix and match formatting methods in Python. However, it’s best to stick with one method for consistency and readability in your code.
When should I use f-strings?
F-strings are recommended for Python 3.6 and later versions due to their simplicity and readability. They are especially useful for inserting variables into strings without needing to specify format specifiers.
What is the difference between % formatting and str.format()?
The % operator is the older way of formatting strings in Python, while str.format() and f-strings are more modern approaches. Str.format() allows for more flexibility and readability compared to % formatting.