Source: http://www.jb51.net/article/63672.htm
Since python2.6, a new function Str.format () that formats the string has been added to the power. So, what's the advantage of being compared to the previous% format string? Let us uncover the veil of its shy.
Grammar
It replaces% with {} and:.
Map sample
By location
?
123456 |
In [
1
]:
‘{0},{1}‘
.
format
(
‘kzc‘
,
18
)
Out[
1
]:
‘kzc,18‘
In [
2
]:
‘{},{}‘
.
format
(
‘kzc‘
,
18
)
Out[
2
]:
‘kzc,18‘
In [
3
]:
‘{1},{0},{1}‘
.
format
(
‘kzc‘
,
18
)
Out[
3
]:
‘18,kzc,18‘
|
The Format function of the string can accept an unlimited number of parameters, the position can be out of order, can not be used or multiple times, but 2.6 can not be empty {},2.7.
by keyword parameter
?
12 |
In [ 5 ]: ‘{name},{age}‘ . format (age = 18 ,name = ‘kzc‘ ) Out[ 5 ]: ‘kzc,18‘ |
Through object properties
?
12345 |
class Person:
def __init__(
self
,name,age):
self
.name,
self
.age
= name,age
def __str__(
self
):
return ‘This guy is {self.name},is {self.age} old‘
.
format
(
self
=
self
)
|
?
12 |
In [ 2 ]: str (Person( ‘kzc‘ , 18 )) Out[ 2 ]: ‘This guy is kzc,is 18 old‘ |
by subscript
?
123 |
in [ 7 ]: P = [ ' kzc ' ] in [ 8 format (p) out[ 8 ]: ' kzc,18 ' |
With these convenient "mapping" methods, we have a lazy weapon. Basic Python knowledge tells us that list and tuple can be "broken" into normal parameters to the function, and dict can be broken into the keyword parameters to the function (through and *). So you can easily pass a list/tuple/dict to the Format function. Very flexible.
Format qualifier
It has a rich "format qualifier" (syntax is {} with:), such as:
Fill and align
Padding is used in conjunction with alignment
^, <, > center, Align Left, right, back with width
: The fill character after the number, only one character, not specified by default is filled with a space
Like what
?
123456 |
In [
15
]:
‘{:>8}‘
.
format
(
‘189‘
)
Out[
15
]:
‘ 189‘
In [
16
]:
‘{:0>8}‘
.
format
(
‘189‘
)
Out[
16
]:
‘00000189‘
In [
17
]:
‘{:a>8}‘
.
format
(
‘189‘
)
Out[
17
]:
‘aaaaa189‘
|
Accuracy and type F
Accuracy is often used in conjunction with Type F
?
12 |
In [ 44 ]: ‘{:.2f}‘ . format ( 321.33345 ) Out[ 44 ]: ‘321.33‘ |
Where. 2 represents a precision of 2 length, and F represents a float type.
Other types
Mainly in the system, B, D, O, X are binary, decimal, octal, hexadecimal.
?
12345678 |
In [
54
]:
‘{:b}‘
.
format
(
17
)
Out[
54
]:
‘10001‘
In [
55
]:
‘{:d}‘
.
format
(
17
)
Out[
55
]:
‘17‘
In [
56
]:
‘{:o}‘
.
format
(
17
)
Out[
56
]:
‘21‘
In [
57
]:
‘{:x}‘
.
format
(
17
)
Out[
57
]:
‘11‘
|
Use, the number can also be used to make the amount of thousands separator.
?
12 |
In [ 47 ]: ‘{:,}‘ . format ( 1234567890 ) Out[ 47 ]: ‘1,234,567,890‘ |
The use of the "Python" Format function for formatting strings