String formatting in Python allows you to create strings that include variable values, making your output more dynamic and readable. Python offers several ways to format strings, including the %
operator, the str.format()
method, and f-strings (formatted string literals).
String Formatting Methods
Python provides multiple ways to format strings, each with its own syntax and use cases:
- Using the
%
Operator - Using the
str.format()
Method - Using f-strings (Formatted String Literals)
1. Using the %
Operator
The %
operator is one of the oldest methods of string formatting in Python. It uses format specifiers to insert values into a string.
Syntax
"Hello, %s!" % name
Example
name = "Alice" age = 30 print("My name is %s and I am %d years old." % (name, age))
2. Using the str.format()
Method
The str.format()
method provides a more powerful way to format strings. It uses curly braces {}
as placeholders for the values to be inserted.
Syntax
"Hello, {}!".format(name)
Example
name = "Alice" age = 30 print("My name is {} and I am {} years old.".format(name, age))
You can also use positional and keyword arguments within the placeholders:
print("My name is {0} and I am {1} years old.".format(name, age)) print("My name is {name} and I am {age} years old.".format(name="Alice", age=30))
3. Using f-strings (Formatted String Literals)
Introduced in Python 3.6, f-strings provide a concise and readable way to include expressions inside string literals. They are prefixed with f
or F
and use curly braces {}
to evaluate variables and expressions.
Syntax
f"Hello, {name}!"
Example
name = "Alice" age = 30 print(f"My name is {name} and I am {age} years old.")
You can also include expressions inside the curly braces:
print(f"In two years, I will be {age + 2} years old.")