Basic formatting

  最常见的是按照位置进行format,平常用在参数的顺序不太可能更改,并且需要用到的format比较少情况。

  按照位置进行format的缺点是:元素没有用像名称之类的具有描述性的东西来表示,所以这种 format 只适用于格式化相对较少的元素的情况。

''' format字符串 '''
# 旧样式
'%s %s' % ('one', 'two') # one two
# 新样式
'{} {}'.format('one', 'two') # one two
Output

''' format数字'''
# 旧样式
'%d %d' % (1, 2) # 1 2
# 新样式
'{} {}'.format(1, 2) # 1 2
Output

'''
    还有一种新的format格式,可以给占位符一个显式的位置索引。(在Python2.6中甚至是强制的)
    这样可以在不更改参数的情况下重新排列显示顺序。不过这个format不能用于旧版本。
'''
# 新样式
'{1} {0}'.format('one', 'two') # two one

 

Value conversion

  默认情况下,新样式的简单格式化程序是调用对象的__format__()方法。如果只想呈现str(…)或repr(…)的输出,可以使用 !s 或 !r 进行标识。

  在%样式中,通常使用%s表示字符串,%r表示repr(…)转换。

class Data(object):

    def __str__(self):
        return 'str'

    def __repr__(self):
        return 'repr'
构造

相关文章: