Python中字符串的格式化—format()方法

## Python字符串类型的格式化

关于字符串的格式化,Python支持类似于C语言的printf()函数的格式化方法,也支持format()方法的格式化方法,因为Python更接近自然语言的复杂数据类型,无法全部通过类C的格式化方法,所以学Python着重使用format()方法进行字符串的格式化。
一、format()函数的基本使用
1、 print(“{}{}”.format(a,b),这里{}成为槽,要把后边format里的内容对应放在里边,假如a,b = 1,2 ,输出的结果为12;
*2、*如果{}内有标号,则后边format()里的东西按标号来对应输出,如print(“{1}{0}”.format(a,b),按照以上初始条件,输出结果为21,注意:标号要从0开始排序;
二、format()函数的格式控制
1、 分别使用< > ^表示左对齐、右对齐、中间对齐

s = "Hello"
print("{0:<30}".format(s))
print("{0:^30}".format(s))
print("{0:>30}".format(s))

在这里插入图片描述
注意:默认按照左对齐
2、 空白位置的填充类型
填充是指标定宽度内空白位置用什么类型填充,* ^ 用*填充,-^用-填充

s = "welcome"
print("{0:*^30}".format(s))
print("{0:-^30}".format(s))
print("{0:=^30}".format(s))

在这里插入图片描述
3、 格式控制中的逗号用于显示数字类型的千位分隔符,

q = 45687296215.2
print("{0:-^20,}".format(q))
print("{0:-^20}".format(q))     #对比输出

在这里插入图片描述
4、 精度
精度表示两个含义,由小数点(.)开头,对于浮点数,精度表示小数点后输出的有效位数,对于字符串,精度表示字符串输出的最大长度。

print("{0:.3f}".format(3.1415926))
print("{0:.3}".format("hello"))

在这里插入图片描述

注意:浮点数输出时记得写f

*5、*类型
类型包括输出整数类型和浮点数类型的控制规则
(一)整数类型
1> b:输出整数的二进制形式
2> c:输出整数对应的Unicode码形式
3> d:输出整数的十进制形式
4> o:输出整数的八进制形式
5> x:输出整数的小写十六进制形式
6> X:输出整数的大写十六进制形式

print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(255))

在这里插入图片描述

注意要写上0

(二)浮点数类型
1> e:输出浮点数对应小写字母e的指数形式
2> E:输出浮点数对应大写字母E的指数形式
3> f:输出浮点数的标准浮点形式
4> %:输出浮点数的百分形式

print("{0:e},{0:E},{0:f},{0:%}".format(3.1415926))
print("{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.1415926))

在这里插入图片描述

注意,浮点数输出尽量使用精度表示小数点后的宽度,有助于更好的控制格式。

三、 归纳总结
在这里插入图片描述
四、 小程序—绘制*三角
(1) 代码部分

print("请问你要建立几层?")
N = eval(input())
for i in range(1,N*2 + 1,2):
    s = i*'*'
    print("{0:^{1}}".format(s,N*2))

(2) 运行结果
在这里插入图片描述

(3)代码分析

  1. 注意我设置的步长是2,所以截止条件是2*N + 1,否则只会出现N/2层
  2. 这里s = i* ‘*’,恰当的增加了小星星

好了,今天的详解就到这里。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值