废话不多说,直接上干货。
1.思维导图:
2.完整案例代码:
""""
3种字符串格式化工具
1、python2.5版本之前,我们使用的是老式字符串格式化输出%s。
2、python3.0版本开始起(python2.6同期发布),Python中同时支持两个版本的格式化,多出来的一个新版本就是利用format()函数,进行格式化输出。
3、python3.6版本后,又引入了一种新的字符串格式化方式f-string。
"""
"""
基本用法:
1、%格式化:占位符%,搭配%符号一起使用;
2、format()格式化:占位符{},搭配format()函数一起使用;
3、f-string格式化:占位符{},搭配f符号一起使用;
"""
a = "%s张飞、%s关羽、%s刘备、%s赵云" % (1, 2, 3, 4)
print(a)
b = "{}张飞、{}关羽、{}刘备、{}赵云".format(1, 2, 3, 4)
print(b)
c = f"{1}张飞、{2}关羽、{3}刘备、{4}赵云"
print(c)
"""
%格式化
字符串格式化符号:
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %F 和 %E 的简写
%p 用十六进制数格式化变量的地址
* 定义宽度或者小数点精度,*代表数字 默认为左侧填充
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
"""
a = "四大天王:%s、%s、%s、%s" % ("刘德华", "郭富城", "张学友", "黎明")
print(a)
"""
format() 格式化
"""
# 第一种形式
b1 = "四大天王:{}、{}、{}、{}".format("刘德华", "郭富城", "张学友", "黎明")
print(b1)
# 第二种形式
b2 = "四大天王:{2}、{0}、{3}、{1}".format("刘德华", "郭富城", "张学友", "黎明")
print(b2)
# 第三种形式
x1 = "刘德华"
x2 = "郭富城"
x3 = "张学友"
x4 = "黎明"
b3 = "四大天王:{p}、{q}、{r}、{s}".format(p=x4, q=x2, r=x1, s=x3)
print(b3)
"""
f-string格式化
"""
# 直接在{}中输入变量即可,位置随意放
x1 = "刘德华"
x2 = "郭富城"
x3 = "张学友"
x4 = "黎明"
c = f"四大天王:{x1}、{x3}、{x2}、{x4}"
print(c)
"""
填充功能:
当指定了字符串最终的长度,但是现有的字符串没有那么长,那么我们就用某种字符(填充字符)来填满至这个长度,这就是“填充”。
"""
"""
%格式化
1、格式:"%10s" % (“字符串”),使用前仔细观察书写格式;
2、含义:上述10代表字符串的填充长度。如果字符串的长度,大于填充长度,填充长度无效;如果字符串的长度,小于填充长度,则会将字符串长度填充至指定的填充长度;
3、说明:默认是在字符串左侧填充;
"""
a = "%s" % "赵先生"
print(a, len(a))
# 右对齐
b = "%10s" % "赵先生"
print(b, len(b))
# 左对齐
b = "%-10s" % "赵先生"
print(b, len(b))
c = "%10s" % "赵先生,今天早上没有吃早饭,就去上班啦!"
print(c, len(c))
"""
format()格式化
格式:"{:10}".format(“字符串”),使用前仔细观察书写格式;
含义:上述10代表字符串的填充长度。如果字符串的长度,大于填充长度,填充长度无效;如果字符串的长度,小于填充长度,则会将字符串长度填充至指定的填充长度;
说明:默认是在字符串右侧填充;
"""
a = "{:10}".format("钱先生")
print(a, len(a))
c = "{:10}".format("钱先生,今天早上没有吃早饭,就去上班啦!")
print(c, len(c))
"""
f-string格式化
格式:f"{name1:10}",使用前仔细观察书写格式;
含义:上述10代表字符串的填充长度,name1代表某个字符串变量。如果字符串的长度,大于填充长度,填充长度无效;如果字符串的长度,小于填充长度,则会将字符串长度填充至指定的填充长度;
说明:默认是在字符串右侧填充;
"""
name1 = "孙先生"
name2 = "孙先生,今天早上没有吃早饭,就去上班啦!"
a = f"{name1:10}"
print(a, len(a))
b = f"{name2:10}"
print(b, len(b))
"""
对齐功能:
"对齐"要与"填充"一起使用,才会显得有意义。当我们进行填充的时候,我们可以选择只在字符串左侧填充,也可以选择只在字符串右侧填充,还可以选择在字符串两侧填充(字符串居中显示的填充方式);
"""
"""
%s方式填充
"""
print("%10s" % "左填充")
print("%-10s" % "右填充")
"""
format()方式填充
1、左对齐
2、右对齐
3、居中对齐
"""
str = "format()填充"
# 左填充
print("{:>20}".format(str))
# 右填充
print("{:<20}".format(str))
# 居中填充
print("{:^20}".format(str))
"""
f-string方式
1、左对齐
2、右对齐
3、居中对齐
"""
str = "f-string填充"
# 左侧填充
print(f"{str:>20}")
# 右侧填充
print(f"{str:<20}")
# 居中填充
print(f"{str:^20}")
"""
使用任意符号进行填充
使用format()与f-string两种方式会比较简单一些
"""
str = "format()任意字符填充"
flag = "#"
print("{:#>20}".format(str))
print("{:$<20}".format(str))
print("{:&^20}".format(str))
str = "f-string()任意字符填充"
flag = "#"
print(f"{str:#>20}")
print(f"{str:%<20}")
print(f"{str:@^20}")
print(f"{'数值相关的格式化':-^100}")
print("%d" % 3000)
# 四舍五入保留3位小数
print("%.3f" % 3.1415926)
print("{:.3f}".format(3.1415926))
print(f"{3.1415926:.3f}")
注:有需要源文件的,请在评论区留言。
参数文档:https://blog.csdn.net/weixin_41261833/article/details/108080963