One of Python's coolest features is the string format operator %. This operator is unique to strings and makes up for the pack of having functions from C's printf() family. Format specification symbols (%d %c %f %s etc) used in C language are used as placeholders in a string.
ExampleFollowing is a simple example −
print ("My name is %s and weight is %d kg!" % ('Zara', 21))
It will produce the following output −
My name is Zara and weight is 21 kg!Symbols Used With String Formatting Operator
Here is the list of complete set of symbols which can be used along with % −
Sr.No Format Symbol & Conversion1
%c
character
2
%s
string conversion via str() prior to formatting
3
%i
signed decimal integer
4
%d
signed decimal integer
5
%u
unsigned decimal integer
6
%o
octal integer
7
%x
hexadecimal integer (lowercase letters)
8
%X
hexadecimal integer (UPPERcase letters)
9
%e
exponential notation (with lowercase 'e')
10
%E
exponential notation (with UPPERcase 'E')
11
%f
floating point real number
12
%g
the shorter of %f and %e
13
%G
the shorter of %f and %E
Other supported symbols and functionality are listed in the following table −
Sr.No. Format Symbol & Conversion1
*
argument specifies width or precision
2
-
left justification
3
+
display the sign
4
<sp>
leave a blank space before a positive number
5
#
add the octal leading zero ( '0' ) or hexadecimal leading '0x' or '0X', depending on whether 'x' or 'X' were used.
6
0
pad from left with zeros (instead of spaces)
7
%
'%%' leaves you with a single literal '%'
8
(var)
mapping variable (dictionary arguments)
9
m.n.
m is the minimum total width and n is the number of digits to display after the decimal point (if appl.)
String Formatting Operator Examples Example: Format Integer & String Using % OperatorIn the following example, name is a string and age is an integer variable. Their values are inserted in the string at %s and %d format specification symbols respectively. These symbols are interpolated to values in a tuple in front % operator.
name="Rajesh" age=23 print ("my name is %s and my age is %d years" % (name, age))
It will produce the following output −
my name is Rajesh and my age is 23 yearsExample: Specifying Width/Padding Using % Operator
You can specify width of an integer and float object. Here integer objects a,b and c will occupy width of 5 characters in formatted string. Additional spaces will be padded to left.
a=1 b=11 c=111 print ("a=%5d b=%5d c=%5d" % (a, b, c))
It will produce the following output −
a= 1 b= 11 c= 111Example: Float Precision Handling Using % Operator
In following example, width of float variable is specified to have 6 characters with three digits after decimal point.
name="Rajesh" age=23 percent=55.50 print ("my name is %s, age %d and I have scored %6.3f percent marks" % (name, age, percent))
It will produce the following output −
my name is Rajesh, age 23 and I have scored 55.500 percent marksExample: String Padding Using % Operator
Width for a string can also be specified. Default alignment is right. For left alignment give negative sign to width.
name='TutorialsPoint' print ('Welcome To %20s The largest Tutorials Library' % (name, )) print ('Welcome To %-20s The largest Tutorials Library' % (name, ))
It will produce the following output −
Welcome To TutorialsPoint The largest Tutorials Library Welcome To TutorialsPoint The largest Tutorials LibraryExample: Truncating Long String Using % Operator
Add a '. ' to the format to truncate longer string.
name='TutorialsPoint' print ('Welcome To %.5s The largest Tutorials Library' % (name, ))
It will produce the following output −
Welcome To Tutor The largest Tutorials Library
python_string_formatting.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4