插件窝 干货文章 Python字符串格式化之使用format()方法

Python字符串格式化之使用format()方法

format 输出 class strong 963    来源:    2024-10-28

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(null,N*2 + 1,2):
    s = i*'*'
    print("{0:^{1}}".format(s,N*2))

(2) 运行结果

(3) 代码分析

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

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

以上为个人经验,希望对您有所帮助。