Python字符串格式化
格式化的操作有两种
一、使用%,常用的格式化
格式 | 描述 |
---|---|
%s | 字符串 |
%d | 有符号整数(十进制) |
%f | 浮点数 |
%O | 转换为带符号的八进制形式的整数 |
%X | 转换为带符号的十六进制形式的整数 |
%e | 转换为科学计数法表示的浮点数(e小写) |
%c | 格式化字符及其ASCII码 |
常用的示例
#字符串
print("学习是一件%s的事情" % "快乐")
#数字
print("还有%d天就放假啦" % 2)
#float型
print("%f四舍五入" % 2.6)
运行结果
学习是一件快乐的事情
还有2天就放假啦
2.600000四舍五入
二、使用format函数(推荐)
format函数可以接受不限个数的参数,位置也可以不按顺序
- 普通用法,format中的参数,对应{}的依次替换
#例句:还有2天放假,我还在坚持学习Python
print("还有{}天放假,我还在坚持学习{}".format(2, "Python"))
- 设置位置(索引)格式化,format函数中,按索引的参数替换字符串
#类似索引的格式化,比如,快放假了,我在学习python,我想赶紧回家
print("快放假了,{0}在学习{1},{0}想赶紧回家".format("我", 'Python'))
- 指定替换参数的值
#张三坚持学习Python, 取得了优异样的成绩
str = "{who}坚持学习{language}, 取得了{what}的成绩".format(who="张三", language="Python", what="优异")
print(str)
- format函数格式化数字
练习一
# 保留小数点后2点
print(format(2.423234234, ".2f"))
# 保留小数点后3点
print(format(2.423234234, ".3f"))
# 保留符号,并且保留小数点后2位
print(format(-3.1415925, "+.2f"))
# 不带小数
print(format(3.1415926, ".0f"))
# 使用%号进行显示,显示小数点后3位
print(format(3.1415926, ".3%"))
#运行结果
2.42
2.423
-3.14
3
314.159%
练习二
# 保留小数点后2点
print("保留小数点后2点:{:.2f}".format(3.141592657))
# 保留小数点后3点
print("保留小数点后3点: {:.3f}".format(3.141592657))
# 保留符号,并且保留小数点后2位
print("保留符号,并且保留小数点后2位: {:+.2f}".format(3.141592657))
# 不带小数
print("舍弃掉小数后的数字{:.0f}".format(3.141592657))
# 使用%号进行显示,显示小数点后3位
print("百分号显示{:.3%}".format(3.141592657))
#运行结果
保留小数点后2点:3.14
保留小数点后3点: 3.142
保留符号,并且保留小数点后2位: +3.14
舍弃掉小数后的数字3
百分号显示314.159%