Introduction: Python format() Function
When working with Python, there are situations where values need to be displayed in a specific format. Whether you’re formatting numbers, converting values into binary or hexadecimal, or controlling decimal places, writing custom formatting logic can make the code longer and more difficult to understand.
Without a built-in solution, formatting values consistently would require additional calculations or string manipulation, making programs harder to read and maintain.
A simple and efficient solution to these situations is the Python format() Function.
What it is: The format() function is a built-in Python function that converts a value into a formatted string based on a specified format. It supports many formatting options, making it useful for displaying numbers, text, and other values in a readable form.
Take a look at a quick example to see how it works.
You can also explore its real-world use cases to learn where it is commonly used.
Now let’s explore its syntax, parameters, return value, and practical examples.
💡 Tip: Need to explore more than just format()? Visit the Python Built-in Functions Learning Guide to discover many other useful functions with practical examples.
Syntax, Parameters, Return Value and Examples: Python format() Function
The following section explains the syntax, parameters, return value, and a quick example of the Python format() Function.
Syntax
format(value)
format(value, format_spec)
Parameters
| Parameter | Description |
|---|---|
value |
The value that needs to be formatted. |
format_spec (optional) |
Specifies how the value should be formatted, such as decimal places, binary, hexadecimal, alignment, width, or other formatting options. |
Return Value
| Return Value | Description |
|---|---|
str |
Returns the formatted value as a string. |
Quick Example
The following example formats a floating-point number to two decimal places.
result = format(12.34567, ".2f")
print(result)
# Output:
12.35
The format() function rounds the value to two decimal places and returns the formatted result as a string.
How the Python format() Function Works
- The
format()function accepts a value to be formatted. - An optional format specification controls how the value should be displayed.
- It applies the specified formatting rules to the value.
- The formatted result is returned as a string.
- It supports formatting numbers, strings, and objects that implement custom formatting.
Examples: Python format() Function
The following examples show how the Python format() Function works in different programming scenarios.
Example 1: Formatting a Floating-point Number
result = format(45.6789, ".2f")
print(result)
# Output:
45.68
Explanation: The format specification .2f rounds the number to two decimal places and returns the formatted value as a string.
Example 2: Converting a Number to Binary
result = format(25, "b")
print(result)
# Output:
11001
Explanation: Instead of performing the conversion manually, format() converts the decimal number into its binary representation.
Example 3: Displaying a Number in Hexadecimal
result = format(255, "x")
print(result)
# Output:
ff
Explanation: Here, the format specification "x" tells Python to display the value in lowercase hexadecimal format.
Example 4: Formatting User Input
price = float(input("Enter the price: "))
print(format(price, ".2f"))
# Sample Output:
Enter the price: 349.5
349.50
Explanation: After reading the value from the user, format() displays it with exactly two digits after the decimal point.
Example 5: Adding Comma Separators
population = 987654321
print(format(population, ","))
# Output:
987,654,321
Explanation: Large numbers become easier to read because format() automatically inserts commas as thousands separators.
Example 6: Formatting a Percentage
score = 0.875
print(format(score, ".1%"))
# Output:
87.5%
Explanation: The percentage format multiplies the value by 100 and appends the percent sign automatically.
Example 7: Handling an Invalid Format Specification
try:
print(format(25, "invalid"))
except ValueError as e:
print(e)
# Sample Output:
Invalid format specifier
Explanation: The format specification must follow Python’s formatting rules. Since "invalid" is not a supported format specifier, Python raises a ValueError. In this example, a try-except block handles the exception and displays the error message instead of terminating the program.
Use Cases: When to use the format() Function
Below are some common situations where the Python format() Function becomes useful:
- Formatting floating-point numbers.
- Displaying binary, hexadecimal, or octal values.
- Adding thousands separators to large numbers.
- Displaying percentages in a readable format.
- Preparing values for reports and user-friendly output.
- Presenting numbers consistently throughout a program.
Key Takeaways: format() Function
Before wrapping up, here are the key points to remember about the Python format() Function:
- The
format()function returns a formatted string. - It accepts a value and an optional format specification.
- It supports decimal, binary, hexadecimal, percentage, and many other formatting styles.
- It is commonly used to control how values appear when displayed.
- It works with numbers, strings, and objects that support custom formatting.
- It provides a clean and flexible way to format values in Python.
In short, the Python format() Function provides a simple and flexible way to display values in different formats, making Python programs easier to read and producing more professional-looking output.