Python“字符串”的3种格式化技巧

废话不多说,直接上干货。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值