python格式化字符串format_Python格式化字符串二(format)

二. 使用format格式

格式 [[fill]align][sign][#][0][width][,][.precision][type]

fill 可选 空白处填充的字符

align 可选 对齐方式(需配合width使用)

< 内容左对齐

> 内容右对齐(默认)

= 内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字 ,内容居中

sign 可选 有无符号数字

+,正号加正,负号加负;

-,正号不变,负号加负;

空格 ,正号空格,负号加负;

“#” 可选 对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示

, 可选 为数字添加分隔符,如:1,000,000

width 可选 格式化位所占宽度

.precision 可选 小数位保留精度

type 可选 格式化类型

传入” 字符串类型 “的参数 s,格式化字符串类型数据

空白,未指定类型,则默认是None,同s

传入“ 整数类型 ”的参数

b,将10进制整数自动转换成2进制表示然后格式化

c,将10进制整数自动转换为其对应的unicode字符

d,十进制整数

o,将10进制整数自动转换成8进制表示然后格式化;

x,将10进制整数自动转换成16进制表示然后格式化(小写x)

X,将10进制整数自动转换成16进制表示然后格式化(大写X)

传入“ 浮点型或小数类型 ”的参数 e, 转换为科学计数法(小写e)表示,然后格式化;

E, 转换为科学计数法(大写E)表示,然后格式化;

f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;

F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;

g, 自动在e和f中切换

G, 自动在E和F中切换

%,显示百分比(默认显示小数点后6位)

例:

1.格式化字典形式

>>> f1="I am {0},I am {1}d years old!".format("Tom",22)>>>print(f1)

I am Tom,I am 22d years old!

>>> f2="I am {name},I am {age}d years old!".format(**{"name":"Jeck","age":23})#此处**必不可少>>>print(f2)

I am Jeck,I am 23d years old!

2.字符串中变量的赋值

>>> mstr="I am %s,and I have %d book!"

>>> print("mstr---",mstr%("Tim",3))

mstr--- I am Tim,and I have 3 book!

>>> mstr1="I am %s,and I have %d book!"%("Tom",5)

>>> print("mstr1---",mstr1)

mstr1--- I am Tom,and I have 5 book!

>>> mstr2="I am {0},and I have{2} pen,and I love {1}!".format("Jack","北京",10)>>> print("mstr2---",mstr2)

mstr2--- I am Jack,and I have10 pen,and I love 北京!

>>> mstr3="I am {0},and I have {1} pen,and I love {2}!".format("Jack",10,"北京")>>> print("mstr3---",mstr3)

mstr3--- I am Jack,and I have 10 pen,and I love 北京!

3.常用的字符串操作函数

>>> mstr="xya abaac ddddeeee ff aabddv"

>>> print(mstr.count("a"))#统计a出现的次数6

>>> print("返回第一个c出现的索引位置:",mstr.find("c"))

返回第一个c出现的索引位置:8

>>> print(mstr.replace("a","^-^"))#用^-^替换所有的a

xy^-^ ^-^b^-^^-^c ddddeeee ff ^-^^-^bddv>>> print(mstr.replace("a","^-^",1))#用^-^替换第一个a

xy^-^abaac ddddeeee ff aabddv>>>print(mstr.title())#字符串的首字母大写

Xya Abaac Ddddeeee Ff Aabddv

4.字符串中插入字符、分割字符串

>>> mstr="xya abaac daaee f abv"

>>> print ("^-^".join(mstr))#把^-^插入到字符串的每个字符之间

x^-^y^-^a^-^ ^-^a^-^b^-^a^-^a^-^c^-^ ^-^d^-^a^-^a^-^e^-^e^-^ ^-^f^-^ ^-^a^-^b^-^v>>> print(" ".join(mstr))#把空格插入到字符串的每个字符之间

x y a a b a a c d a a e e f a b v>>>print(mstr.split())#按切割字符串,默认在空格处切分

['xya', 'abaac', 'daaee', 'f', 'abv']>>> print(mstr.split("a"))#割字符串,以a为分隔符

['xy', ' ', 'b', '', 'c d', '', 'ee f', 'bv']

5.删除字符串中的空格

>>> mstr="akdflkas:dsfadf"

>>>print(mstr.strip())#移除字符串两边的空格

akdflkas:dsfadf>>>print(mstr.lstrip())#移除字符串左边的空格

akdflkas:dsfadf>>>print(mstr.rstrip())#移除字符串右边的空格

akdflkas:dsfadf

6.填充字符串

(1)填充常跟对齐一起使用,^<>分别是居中、左对齐、右对齐,后面带宽度

(2):号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

>>> "{:20}".format("asdf")#默认在规定的20个字符长度中左对齐'asdf'

>>> "{:^20}".format("adff")#^表示在规定20个字符的长度中居中对齐'adff'

>>> "{:<20}".format("asdf")#<表示在规定的20个字符的长度中左对齐'asdf'

>>> "{:>20}".format("asdf")#>表示在规定的20个字符的长度中右对齐'asdf'

>>> "python{:*<20}".format("666")#指定填充字符串'666'在'python'后,并且左对齐,别外不够20个字符时用*号补齐

'python666*****************'

>>> "python{:*^20}".format("666")#指定填充字符串'666'在'python'后,并且在20个字符的长度中居中对齐,不够的用*补齐'python********666*********'

>>> "python{:*>20}".format("666")#指定填充字符串'666'在'python'后,并且在20个字符的长度中右对齐,不够的用*补齐

'python*****************666'

7.加千位分隔符

>>> "{:,}".format(1234567890)#添加千位分割符'1,234,567,890'

8.格式化小数点位数

#保留3位小数点的方法

>>> x=1122.12221221

>>> "{:0.3f}".format(x)'1122.122'

>>> "{0:0.3f}".format(x)'1122.122'

>>> "{0:.3f}".format(x)'1122.122'

>>> "{:.3f}".format(x)'1122.122'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值