Python format() Function
The Python format() function returns the given value in the specified format based on the formatter.
The format() is one of the built-in functions and can be used for various purposes such as creating a well-formatted string, type-specific formatting, formatting numbers, string alignment and padding, etc.
Syntax
Following is the syntax of the Python format() function −
format(value, formatSpec = '')
Parameters
The Python format() function accepts the following parameters −
value − It represents a value (number or string) that needs to be formatted.
formatSpec − It represents a format that specifies how the value has to be formatted. Its default value is an empty string.
Return Value
The Python format() function returns a formatted representation of the passed value according to the specified format.
format() Function Examples
Practice the following examples to understand the use of format() function in Python:
Example: Use of format() Function
The following example shows how to use the Python format() function to format the given number into a specific form. Here, this function is applied to multiple numbers to format them into different forms.
numOne = 5100200300
formattedNum = format(numOne, ",")
print("Formatting the number using separator:", formattedNum)
numTwo = 12.756
formattedNum = format(numTwo, ".2%")
print("Rounding the given number:",formattedNum)
numThree = 500300200
formattedNum = format(numThree, "e")
print("Converting number into exponential notation:", formattedNum)
numFour = 541.58786
formattedNum = format(numFour, ".2f")
print("Formatting number to two decimal places:", formattedNum)
When we run the above program, it produces the following result −
Formatting the number using separator: 5,100,200,300 Rounding the given number: 1275.60% Converting number into exponential notation: 5.003002e+08 Formatting number to two decimal places: 541.59
Example: Convert Decimal to Binary, Octal, and Hexadecimal Formats
The Python format() function can be used to convert a given number into its corresponding binary, octal and Hexadecimal representation as shown in the below example.
nums = 124
binaryNum = format(nums, "b")
octalNum = format(nums, "o")
hexNum = format(nums, "x")
print("Converting number into Binary:", binaryNum)
print("Converting number into Octal:", octalNum)
print("Converting number into Hexadecimal:", hexNum)
When we run the above program, it produces following result −
Converting number into Binary: 1111100 Converting number into Octal: 174 Converting number into Hexadecimal: 7c
Example: Override __format__ Class Method
By overriding the "__format__" method in a class, we can customize how objects of that class should be formatted. The code below demonstrates the same.
import datetime
class DefDate:
def __init__(self, year, month, day):
self.date = datetime.date(year, month, day)
def __format__(self, formatSpec):
return self.date.strftime(formatSpec)
formattedDate = DefDate(2024, 4, 17)
print("Date after formatting:")
print(format(formattedDate, "%B %d, %Y"))
Output of the above code is as follows −
Date after formatting: April 17, 2024