您的位置:首页 > 编程语言 > Python开发

python学习笔记四:字符串格式化

2017-04-19 08:52 627 查看
字符串格式化:%,左侧放字符串,右侧放希望被格式化的值,通常为元组>>> format
= "Hello, %s, %s enough for ya?">>> values
= ('world', 'Hot')>>> print
format % valuesHello, world, Hot
enough for ya? 如果在格式化字符串里面包括百分号,那么必须使用%% 模板字符串:类似于shell中的变量替换1) >>> from
string import Template>>>
s = Template('$x, galourious $x!')>>>
s.substitute(x='slurm')'slurm,
galourious slurm!'2)如果替换字段只是一部分则参数名需要用括号括起来>>>
s = Template("It's ${x}tastic!")>>>
s.substitute(x='slurm')"It's
slurmtastic!"3)使用$$ 插入美元符号>>>
s = Template("Make $$ selling $x!")>>>
s.substitute(x='slurm')'Make
$ selling slurm!'4)使用字典变量提供值/名称对>>>
s = Template('A $thing must never $action')>>>
d = {}>>>
d['thing'] = 'gentleman'>>>
d['action'] = 'show his socks'>>>
s.substitute(d)'A
gentleman must never show his socks' 如果右操作数为元组,其中每一元素都要被格式化,每个值都需要一个对应的转换说明符>>>
'%s plus %s equals %s' % (1, 1, 2)'1
plus 1 equals 2' 基本转换说明符1)简单转换#%s字符串>>>
'Price of eggs : $%s' % 42'Price
of eggs : $42'#%x,不带符号的十六进制>>>
'Hexadecimal Price of eggs : %x' % 42'Hexadecimal
Price of eggs : 2a'#%f,十进制浮点数>>>
from math import pi>>>
'Pi : %f....' % pi'Pi
: 3.141593....'#%i,带符号的十进制整数>>>
'very inexact estimate of pi : %i' % pi'very
inexact estimate of pi : 3'#%s,字符串(使用str转换任意Python对象)>>>
'Using str : %s' % 42L'Using
str : 42'#%r,字符串(使用repr转换任意Python对象)>>>
'Using repr: %r' % 42L'Using
repr: 42L'2)字符宽度和精度字符宽度:转换后的值所保留的最小字符个数精度:(对于数字转换)结果中应包含的小数位数(对于字符串转换来说)转换后的值所能包含的最大字符个数表示格式:字符宽度.精度,若给出精度,则必须包含点号>>>
'%.5s' % 'Guido van Rossum''Guido'使用*(星号)作为字段宽度或者精度,此时数值会从元组参数中读出>>>
'%.*s' % (5, 'Guido Van Rossum')'Guido'3)符号、对齐和补充在字段宽度和精度值之前,还可以放置一个“标志”,该标志可以是零、加号、减号或空格>>>
'%010.2f' % pi'0000003.14' =>包含小数点位-减号表示左对齐示例:#!
/usr/bin/env python width
= input('Please enter width: ') price_width
= 10item_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, 'Cantaloups', price_width, 1.92)print
format % (item_width, 'Dried Apricots(16 oz.)', price_width, 8)print
format % (item_width, 'Prunes(4 lbs)', price_width, 12) print
'=' * width [root@bogon
wangdong]# python format_str.pyPlease enter width:
35===================================Item Price-----------------------------------Apples 0.40Pears 0.50Cantaloups 1.92Dried Apricots(16
oz.) 8.00Prunes(4 lbs) 12.00===================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  学习笔记 python