Format Specified Mini-Language:
虚数的格式化 c.real, c.imag
>>> c = 3 - 5j
>>> ('The complex number {0} is formed from the real part {0.real} and the imaginary part {0.imag}.').format(c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
对象属性的格式化
>>> class Point(object):
def __init__(self, x, y):
self.x, self.y = x, y
def __str__(self):
return 'Point({self.x}, {self.y})'.format(self=self)
>>> str(Point(4, 2))
'Point(4, 2)'
左对齐< 右对齐 > 中间对齐 ^ 对齐填充 *[<>^]
>>> '{:<30}'.format('left aligned')
'left aligned '
>>> '{:>30}'.format('right aligned')
' right aligned'
>>> '{:^30}'.format('centered')
' centered '
>>> '{:*^30}'.format('centered') #使用*作为填充字符
'***********centered***********'
带符号浮点数
>>> '{:+f}; {:+f}'.format(3.14, -3.14) # 始终显示符号
'+3.140000; -3.140000'
>>> '{: f}; {: f}'.format(3.14, -3.14) # 在正数前显示空格
' 3.140000; -3.140000'
>>> '{:-f}; {:-f}'.format(3.14, -3.14) # 只显示负数符号,相当于 '{:f}; {:f}'
'3.140000; -3.140000'
二进制格式化
>>> "int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42)
'int: 42; hex: 2a; oct: 52; bin: 101010'
>>> # 显示 0x, 0o, or 0b 作为进制符号
>>> "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(42)
'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010'
千分符格式化
>>> '{:,}'.format(1234567890)
'1,234,567,890'
日期格式化
>>> import datetime
>>> d = datetime.datetime(2010, 7, 4, 12, 15, 58)
>>> '{:%Y-%m-%d %H:%M:%S}'.format(d)
'2010-07-04 12:15:58'