python-字符串格式化

'''
1)字符串格式化
    format代表格式字符串,格式:format%x,x为被格式化的值,如果需要在格式化字符串
    中包括百分号,必须使用%%;
'''
format="Hello,%s.%s!"
values=('world','python')
print(format%values)

format="Pi with three decimals:%.3f"
from math import pi
print(format % pi)

'''
2)模板字符串
    string模块提供了另外一种格式化值的方法:模板字符串;
    substitute这个模板方法会用传进来的关键字参数foo替换字符串中的$foo
'''
from string import Template
s=Template('$x,glorious $x!')
print(s.substitute(x='slurm'))#能正确输出
print(s)#不能输出字符串

#如果替换字段是单词的部分,则参数需要用括号括括起来,从而准确指明结尾
s=Template("It's ${x}tastic!")
print(s.substitute(x="slum"))

#可以使用$$插入美元符号
s=Template("Make $$ selling $x!")
print(s.substitute(x="slum"))

#除了上述关键字参数之外,还可以使用字典提供值/名称对
s=Template("A $thing must never $action")
d={}
d['thing']='gentleman'
d['action']='show his socks'
print(s.substitute(d))

'''
3)详细应用
    格式化操作的右操作数可以是任意类型,若是元组或映射,则字符串格式化将会有所不同

    右操作数为元组时,每个元素会被单独格式化,每个值需要一个转换说明符;
    元组作为转换表达时的一部分时需要用括号括起来;
'''

print("%s plus %s equals %s"%(1,1,2))

'''
基本的转换说明符包括以下部分:
    (1)%字符
    (2)转换标志:-表示左对齐,+表示在转换前加上正负号,''(空白字符)表示正数之前保留空格
        0表示转换值若位数不够则用0填充;
    (3)最小字段宽度:指定宽度,如果为*,则宽度从元组中读出
    (4)点(.)后跟精度:若转换的是实数,表示小数点后的位数,若为字符串,则表示最大字段宽度,
        若是*,则精度从元组读出
'''
print("Price of eggs:$%d"%10)
print("%x"%20)
#%x转换为十六进制,%s转换为str()转换的字符串,%r转换为repr()转换的字符串

print("%10.2f"%pi)#10为字段宽度,2表示小数位数,f为十进制浮点数
print("%10i"%9)

#在宽度和精度之前还可以放置0,-,+或空格标志;
print("%010.2f"%pi)
print("%-10.2f"%pi)
print("%+d"%10+'\n'+"%+d"%-10)
print("% d"%10+'\n'+"% d"%-10)#加空格,结果为在正数前加空格,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秘境之眼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值