字符串_format格式化_数字格式化操作

一、字符串格式化,format()方法
a = "名字:{0},年龄:{1}",字符串中{0}表示占位符,相当于变量,格式化时会替换为真实的参数值;0表示参数的索引下标所以讲究顺序

a = "名字:{0},年龄:{1}"
b = a.format("Lily",8)
print(b)
c = a.format("Tome",6)
print(c)


a = "名字:{name},年龄:{age}",字符串中{name}表示站位符,相当于变量,格式化时会根据变量名name替换为真实的参数值;
因为根据变量名替换所以不讲究顺序

a = "名字:{name},年龄:{age}"
b = a.format(name="Jerry",age=10)
print(b)


format(*args,**kwargs)
format()格式化也可以传入字典参数
举例:
str1='{a}-{b}-{c}'
datas={"a":123,"b":456,"c":789}
print(str1.format(**datats))
结果:
123-456-789

注:.format()只能格式化一层{},如果是多层{{},{}}则无法使用.format()


二、填充与对齐
填充常跟对齐一起使用:
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:冒号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

a = "名字:{0:*^8},年龄:{1}"
b = a.format("Lily",8)
print(b)         #结果:名字:**Lily**,年龄:8

c = "名字:{0:^8},年龄:{1}"
d = c.format("Lily",8)
print(d)         #结果:名字:  Lily  ,年龄:8

e = "名字:{0:*>8},年龄:{1}"
f = e.format("Lily",8)
print(f)         #结果:名字:****Lily,年龄:8

g = "名字:{0:*<8},年龄:{1}"
h = g.format("Lily",8)
print(h)         #结果:名字:Lily****,年龄:8

三、数字格式化
a = "我是{0},我的存款有{1:.2f}" #{1:.2f},f表示浮点数,.2表示2位小数位
c = a.format("Lily",520.1314)
print(c)        #结果:我是Lily,我的存款有520.13

数字               格式             输出              描述
3.1415926         {:.2f}            3.14              保留小数点后两位
3.1415926         {:+.2f}           3.14              带符号保留小数点后两位
2.71828           {:.0f}            3                 不带小数
5                 {:0>2d}           05                数字补零 (冒号后面0补充,右对齐宽度为2)
5                 {:x<4d}           5xxx              数字补 x (冒号后面x补充,左对齐宽度为4)
10                {:x<4d}           10xx              数字补 x (冒号后面x补充,左对齐宽度为4)
1000000           {:,}              1,000,000         以逗号分隔的数字格式
0.25              {:.2%}            25.00%            百分比格式(.2小数位为2位)
1000000000        {:.2e}            1.00E+09          指数记法(.2小数位为2位)
13                {:10d}&{:>10d}            13        右对齐(默认, 宽度为 10)
13                {:<10d}          13                 左对齐宽度为 10)
13                {:^10d}             13              中间对齐(宽度为 10)

print("My name is %s ,age is %d" % ('Vince', 18))
#结果:My name is Vince ,age is 18
"My name is %s ,age is %d"为我们的模板。%s为第一个格式符表示一个字符串。%d为第二个格式符表示一个整数。
('Vince', 18)的两个元素'Vince'和99为替换%s和%d的真实值。


print("My name is %(name)s ,age is %(age)d" %{"name":"Vince","age":18})
#结果:My name is Vince ,age is 18
利用字典传递真实值:对两个格式符进行了命名。命名使用()括起来。每个命名对应字典的一个key


格式符总结:
%s    字符串 (采用str()的显示)

%r    字符串 (采用repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上相同

%g    指数(e)或浮点数 (根据显示长度)

%G    指数(E)或浮点数 (根据显示长度)

%%    字符"%"

你可能感兴趣的:(字符串_format格式化_数字格式化操作)