archer05 发表于 2017-5-4 13:07:14

Python 内置格式化语言简介

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'
 
页: [1]
查看完整版本: Python 内置格式化语言简介