Python学习总结:字符串格式化

概述

目前,我学习到python字符串格式化的方法有3种,直观地举例来看,3种方法分别打印字符串b的语句如下(第一种和第三种看似复杂,实则是为了展示完整格式和用法,下面会一一介绍,实际运用时根据情况运用或省略):

a, b = 1, 123.456789
print("b所代表的数字为:{1:*^30,.2f}".format(a, b))
print(f"b所代表的数字为:{b}")
print("b所代表的数字为:%(Numb)+10.6f" % {"Numa": a, "Numb": b})

第一种是.format方法,是python教材上会讲解并在计算机考试会涉及到的方法,可以设置数字类型、位置、精度等;

第二种较为简单,直接填充已经赋值好的变量,是适合于对填充内容没有要求的高效方法;

第三种应用于整数、浮点数各类数字,可以对数字的宽度、精度进行调整。

第一种方法: .format

(1)基本格式

字符串后加 .format() 。括号()中的参数填入字符串中的{}内。

a, b = 1, 1233.456789
print("b所代表的数字为:{1:*^30,.2f}".format(a, b))

输出
b所代表的数字为:************123,3.46***********
字符串{}中的格式:以"{1:*^30,.2f}"为例,
1 表示填入参数序号,即()中的第二个参数,()中无多个参数该项可以省略;
* 表示填充要素,当设置宽度>字符串长度时,用该要素填充;
^ 表示居中,相应的,>表示右对齐,<表示左对齐;
30表示设置宽度;
, 表示显示千位分隔符;
.2表示浮点数精度,即小数位数;
f 表示输入数字类型,包括b,c,d,o,x……(具体见附录1)。其中f表示标准浮点形式
(2)简单应用

省略部分格式,简单打印字符串b:

a, b = 1, 1233.456789
print("{}".format(b))

输出
1233.456789

其余格式设置,注意冒号位置(冒号后的必须先写冒号)按需添加:

a, b = 1, 1233.456789
print("{1}".format(a, b))

输出
1233.456789
a, b = 1, 1233.456789
print("{:@^20}".format(b))

输出
@@@@1233.456789@@@@@
a, b = 1, 1233.456789
print("{:.2f}".format(b))

输出
1233.46
a, b = 2, 2.2
print("{:.2f}".format(a * b))

输出
4.40

第二种方法

就是很直观地简单用法:字符串前写一个f,字符串中{}内写已经赋值的变量名。

a, b = 1, 1233.456789
print(f"b所代表的数字为:{b}; a所代表的数字为:{a}")

输出
b所代表的数字为:1233.456789; a所代表的数字为:1

第三种方法

(1)基本格式
a, b = 1, 1233.456789
print("%f" % b)

输出
1233.456789

以上述简单代码为例:

字符串后加 % 参数,填充字符串内的 %f

其中,%f表示填入浮点型,%d表示填入整数,%s表示填入字符串……(具体见附录2)

a, b = 1, 1233.456789
print("%(num_b)+20.6f" % {"num_a": a,"num_b": b})

输出
        +1233.456789

多个参数如上用{}括起来,并用 参量名字符串:进行指定,而参量名在字符串内用如下方式体现。

在%f中设置其余格式,以%(num_b)+20.6f为例:
(num_b)为多个参数时设置的参量名,用括号()括起来,表示填充参数;
+表示右对齐,相应的,-表示左对齐,0表示左侧由0填充空格;
20.6小数点前的20表示宽度,小数点后的6表示精度。
(2)简单应用
a, b = 1, 1233.456789
print("%(num_a)d" % {"num_a": a,"num_b": b})

输出
1
a, b = 2, 2.2
print("%015.2f" % (a * b))

输出
000000000004.40

附录

附录一:.format方法基本格式中的数字类型

整数类型b:输出整数的二进制方式
c输出整数对应的 Unicode 字符
d输出整数的十进制方式
o输出整数的八进制方式
x输出整数的小写十六进制方式
X输出整数的大写十六进制方式
浮点数类型e:输出浮点数对应的小写字母 e 的指数形式
E输出浮点数对应的大写字母 E 的指数形式
f输出浮点数的标准浮点形式
%输出浮点数的百分形式

附录2:%方法基本格式中的数字类型

%s  

字符串 str()%r 字符串 repr()
%c单个字符%b二进制整数
%d十进制整数%i十进制整数
%o八进制整数%x十六进制整数
%e指数(小写e形式)%E指数(大写E形式)
%f浮点数
%g指数(e)或浮点数 (根据显示长度)%G指数(E)或浮点数 (根据显示长度)
%%字符"%",显示百分号%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值