标签:
字符串格式化使用字符串格式化操作符即百分号%来实现。在%的左侧放置一个字符串(格式化字符串),而在右侧则放置希望格式化的值,可以使用一个值,如一个字符串或者数字,也可以使用多个值的元组或者字典,如
>>> print "hello. %s.%s enough for ya?" % (‘world‘, ‘Hot‘)
hello. world.Hot enough for ya?
如果右操作数是元组的话,则其中的每一个元素都会被单独格式化,每个值都需要一个对应的转换说明符。
基本的转换说明符包括以下部分,注意,这些项的顺序是至关重要的。
1. %字符:标记转换说明符的开始。
2. 转换标志(可选):-表示左对齐;+表示在转换值之前要加上正负号;“”表示正数之前保留空格;0表示转换值若位数不够则用0填充。
3. 最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
4. 点(.)后跟精度值(可选):如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将会从元组中读出。
5. 转换类型:见下表
如
#使用给定的宽度打印格式化后的价格列表 width = input(‘width:‘) price_width = 10 item_width = width - price_width header_format = ‘%-*s%*s‘ format = ‘%-*s%*.2f‘ print ‘-‘ * width print header_format % (item_width, ‘Item‘, price_width, ‘Price‘) print ‘-‘ * width print format % (item_width, ‘Apples‘, price_width, 0.4) print format % (item_width, ‘Pears‘, price_width, 0.5) print format % (item_width, ‘Cantaloupes‘, price_width, 1.92) print format % (item_width, ‘Dried Apricots(16 0z.)‘, price_width, 8) print format % (item_width, ‘prunex(4 1bs)‘, price_width, 12) print ‘=‘ * width
结果如下
width:35
-----------------------------------
Item Price
-----------------------------------
Apples 0.40
Pears 0.50
Cantaloupes 1.92
Dried Apricots(16 0z.) 8.00
prunex(4 1bs) 12.00
=======================
标签:
原文地址:http://www.cnblogs.com/qiantangbanmu/p/4303025.html