Python:字符串格式化

时间:2023-01-07 08:06:54

字符串格式化:

字符串格式化:

%

%s 格式化为字符串

[html] view plain copy

>>> format = "Hello, %s. %s enough for ya?"
>>> values = ('world', 'Hot')
>>> print format % values
Hello, world. Hot enough
for ya?

%f 格式化为实数(浮点数)

[html] view plain copy

>>> format = "Pi with three decimals: %.3f"//保留小数点后3个有效数字
>>> from math import pi//导入pi的值
>>> print format % pi
Pi with three decimals:
3.142


模板字符串:

关键字参数(substitute):

单词替换

[html] view plain copy

>>> from string import Template
>>> s = Template('$x, gloriout $x!')
>>> s.substitute(x = 'slurm')
'slurm, gloriout slurm!'

单词字母替换

[html] view plain copy

>>> from string import Template
>>> s = Template("It's ${x}tastic!")
>>> s.substitute(x = 'slurm')
"It's slurmtastic!"

用$$插入$符号

[html] view plain copy

>>> from string import Template
>>> s = Template("Make $ selling $x!")
>>> s.substitute(x = 'slurm')
'Make $ selling slurm!'

字典变量提供值

[html] view plain copy

>>> from string import Template
>>> 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'

*作为字段宽度或精度

[html] view plain copy

>>> '%.*s' % (5, 'Guido van Rossum')
'Guido'

转换标志:

-:左对齐

+:在转换值之前加上正负号

“ ”:正数之前保留空格

0:转换值若位数不够用0填充

[html] view plain copy

>>> pi = 3.1415
>>> '%010.2f' % pi
'0000003.14'
>>> '%-10.2f' % pi
'3.14 '
>>> '%10.2f' % pi
' 3.14'
>>> '% 10.2f' % pi
' 3.14'
>>> '%+10.2f' % pi
' +3.14'

Python:字符串格式化

字符串格式化范例

[html] view plain copy

width
= input('Please enter 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 oz.)', price_width, 8)
print format % (item_width, 'Prunes (4 lbs.)', price_width, 12)

结果显示:

[html] view plain copy

Please enter width:
35
===================================
Item Price
-----------------------------------
Apples
0.40
Pears
0.50
Cantaloupes
1.92
Dried Apricots (
16 oz.) 8.00
Prunes (
4 lbs.) 12.00