Since the beginning of Python2.6 , a new function of format string str has been added. format ()
Grammar
It replaces% with {} and:.
Map sample
by location
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
In [5]: ‘{name},{age}‘.format(age=18,name=‘kzc‘) Out[5]: ‘kzc,18‘
Through object Properties
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)
In [2]: str(Person(‘kzc‘,18)) Out[2]: ‘This guy is kzc,is 18 old‘
by subscript
In [7]: p=[‘kzc‘,18] In [8]: ‘{0[0]},{0[1]}‘.format(p) Out[8]: ‘kzc,18‘
With these convenient "mapping" methods, we have a lazy weapon. Basic Python knowledge tells us thatlist 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
In [17]: ‘{:a>8}‘.format(‘189‘) Out[17]: ‘aaaaa189‘
补充5位
Accuracy and type F
Accuracy is often used in conjunction with Type F
In [44]: ‘{:.2f2位小数
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.
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 .
in [+]: ' {:,} '. Format (1234567890) out[47]: ' 1,234,567,890 '
Python format formatted string