融入python-4

字符串

1、template

>>> tmpl = Template("Hello, $who! $what enough for ya?")
>>> tmpl.substitute(who="Mars", what="Dusty")
'Hello, Mars! Dusty enough for ya?'
参数式替换
2、format函数
2.1无名参数

>>> s = '{} love {}'
>>> s.format('老鼠','大米')
'老鼠 love 大米'

2.2索引参数
>>> s = '{1} love {2}'
>>> s.format('老鼠','大米')
Traceback (most recent call last):   {2}号参数未提供
File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
>>> s = '{0} love {1}'
>>> s.format('老鼠','大米')
'老鼠 love 大米'
>>> s = '{1} love {0}'
>>> s.format('老鼠','大米')
'大米 love 老鼠'
>>>

2.3名义参数

>>> s = 'player {name} win!'
>>> s.format(name = 'jack')
'player jack win!'
>>> s = '在泰坦尼克号上,{jack}遇到了{rose},and fall in love with {rose}'
>>> s.format(jack='小明',rose='小红')
'在泰坦尼克号上,小明遇到了小红,and fall in love with 小红'
>>> s.format(jack='小明'
... )
Traceback (most recent call last):  参数不够啊
File "<stdin>", line 1, in <module>
KeyError: 'rose'

2.else 其他格式化  数字 日期====

花括号会被解释为参数

如果希望保留花括号,就用{{}}

3、字符格式转换

>>> s = "{pi!s} {pi!r} {pi!a}"
>>> s.format(pi="π")
"π 'π' '\\u03c0'"

s--str

r--repr

a--ascii

!后面代表的是以何种格式输出

4、其他格式化  参数 冒号 格式字符 

类似于c语言里面的%s %d====

贴一个参考过来

表3-1 字符串格式设置中的类型说明符
b
将整数表示为二进制数
c
将整数解读为Unicode码点
d
将整数视为十进制数进行处理,这是整数默认使用的说明符
e
使用科学表示法来表示小数(用e来表示指数)
E
与e相同,但使用E来表示指数
f
将小数表示为定点数
F
与f相同,但对于特殊值(nan和inf),使用大写表示
g
自动在定点表示法和科学表示法之间做出选择。这是默认用于小数的说明符,但在默认情况下至少有1位小数
G
与g相同,但使用大写来表示指数和特殊值
n
与g相同,但插入随区域而异的数字分隔符
o
将整数表示为八进制数
s
保持字符串的格式不变,这是默认用于字符串的说明符
x
将整数表示为十六进制数并使用小写字母
X
与x相同,但使用大写字母
%
将数表示为百分比值(乘以100,按说明符f设置格式,再在后面加上%)
>>> "{num:10}".format(num=3)    宽度为10
'           3'
>>> "{name:10}".format(name="Bob")
'Bob        '
 
>>> "{pi:10.2f}".format(pi=pi) 宽度为10小数位为2的浮点类型
'            3.14'
逗号添加千分位
>>> 'One googol is {:,}'.format(10**100)
'One googol is 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,00
0,000,000,000,000,000,000,000,000,000,000,000,000,000,000'
 
PS:python的format很强大,且易学易用,非常推荐
 

猜你喜欢

转载自www.cnblogs.com/qianheng/p/13204485.html