Python字符串格式化,%和format函数

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%

你可能感兴趣的:(Python)