How to use String Formatters in Python
Last Updated :
15 Jul, 2025
In Python, we use string formatting to control how text is displayed. It allows us to insert values into strings and organize the output in a clear and readable way. In this article, we’ll explore different methods of formatting strings in Python to make our code more structured and user-friendly.
Using f-string
f-strings are the simplest and most efficient way to format strings. They allow expressions to be evaluated at runtime and are preceded by "f" or "F".
Example:
Python
# to display name and age
name = "shakshi"
age = 21
print(f"Name: {name}, Age: {age}")
# to display the sum of a and b
a = 5
b = 3
print(f"sum of {a} and {b} is {a + b}")
OutputName: shakshi, Age: 21
sum of 5 and 3 is 8
format() is one of the methods in string class which allows the substitution of the placeholders with the values to be formatted.
Example:
Python
name = "shakshi"
age = 21
# Using positional arguments
print("Name: {0}, Age: {1}".format(name, age))
# Using keyword arguments
print("Name: {name}, Age: {age}".format(name="shakshi", age=21))
OutputName: shakshi, Age: 21
Name: shakshi, Age: 21
Explanation:
- Positional Arguments: This inserts values in order using placeholders {}.
- Keyword Arguments: This uses named parameters for clarity and flexibility in value assignment.
% operator for string formatting is the oldest method in Python and is similar to C-style string formatting. It’s still widely used but is less efficient compared to f-strings and format().
| Format specifier | Description |
|---|
%s | Specifies the String |
%c | Specifies a single character |
%d | Specifies the integer |
%f | Specifies the float. Any number of digits can be present after decimal point |
%<space>.<number>f | Specifies the float. <space> denotes the number of space to append before printing the number. <number> denotes the number of digits to be present after the decimal point. |
%x / %X | Specifies the hexadecimal representation of the value |
%o | Specifies the octal representation of a value |
%e / %E | Specifies the floating numbers in exponential format |
%g / %G | Similar to %e/%E. Specifies the exponential format only if the exponent is greater than -4 |
Example:
Python
a = "This is a string"
print("String is %s" % (a))
# single character
b = 'a'
print("Single character is %c" % (b))
# integer
c = 45
print("number is %d" % (c))
# float without specified precision
d = 34.521094
print("float is %f" % (d))
OutputString is This is a string
Single character is a
number is 45
float is 34.521094
Using print()
print() function in Python displays messages and outputs, converting non-string objects to strings. It also allows formatting with parameters like sep, which defines a separator between printed elements.
Example:
Python
name = "shakshi"
age = 21
print("Name: " + name + ", Age: " + str(age))
OutputName: shakshi, Age: 21
Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice