共计 1746 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 在编写程序的过程中, 经常需要进行格式化输出, 每次用每次查, 干脆就在这里整理一下, 下面这篇文章主要给大家介绍了关于 python 字符串格式化的相关资料, 分别是 % 格式符和 format 方式, 需要的朋友可以参考下 |
1. 三种常用格式化字符串方式
1.% 作占位符
name = '张三'
age = 10
print('姓名 %s, 今年 %d' % (name, age))
# 运行结果: 姓名张三, 今年 10
% 占位符,s 和 d 表示填充的数据类型,顺序应与 % 后括号中的数据变量顺序一致
2. 使用 format()
name = '张三'
age = 10
print('姓名 {0}, 今年{1} 岁'.format(name, age))
# 运行结果: 姓名张三, 今年 10 岁
{}为占位符,0 表示 format 参数中第一个数据变量 依次类推
3. 使用 f 格式化
name = '张三'
age = 10
print(f'姓名 {name}, 今年{age} 岁')
# 运行结果: 姓名张三, 今年 10 岁
字符串前要加 f 字符串中 {数据变量名} 才能生效
2. 字符串宽度和精度的写法
1.% 填充符表示法
# 宽度为 10 运行结果: 80
print('%10d' % 80)
# 保留三位小数运行结果:3.142
print('%.3f' % 3.14159)
# 保留三位小数,宽度为 10 运行结果: 3.142
print('%10.3f' % 3.1415926)
10 为宽度 .3f 为保留三位小数 d 为转化前元素数据类型
注意:如果 % 后有多个数据元素,只对第一个数据元素进行格式化
2.format()表示法
# .3 表示一共三个数 运行结果:3.14
print('{0:.3}'.format(3.14159))
# .3f 表示三位小数 运行结果:3.142
print('{0:.3f}'.format(3.14159))
# 宽度为 10 保留三位小数 运行结果: 3.142
print('{0:10.3f}'.format(3.14159))
# 0 是占位符的顺序, 可以省略 默认为 0
例如:
# 运行结果: 256.354
print('{1:10.3f}'.format(3.14159, 256.354))
# 1 表示占位符 即 format()中参数的顺序,从 0 开始 1 就是第二个数据元素 -> 256.354
# 10 表示格式化后数据元素的宽度
# .3f 表示精度保留三位小数
3. 字符串对齐方式
1.center() 居中对齐,第一个参数指定宽度,第二个参数指定填充符, 第二个参数是选填的,默认是空格, 如果设置宽度小于实际宽度则则返回原字符串
s = 'hello,python'
print(s.center(20, '*'))
# 运行结果:****hello,python****
2.ljust() 左对齐,第一个参数指定宽度,第二个参数指定填充符, 第二个参数是选填的,默认是空格, 如果设置宽度小于实际宽度则则返回原字符串
s = 'hello,python'
print(s.ljust(20))
# 运行结果:hello,python
print(s.ljust(20, '*'))
# 运行结果:hello,python********
print(s.ljust(10))
# 运行结果:hello,python
3.rjust() 右对齐,第一个参数指定宽度,第二个参数指定填充符, 第二个参数是选填的,默认是空格, 如果设置宽度小于实际宽度则则返回原字符串
s = 'hello,python'
print(s.rjust(20))
# 运行结果: hello, python
print(s.rjust(20, '*'))
# 运行结果:********hello,python
print(s.rjust(10))
# 运行结果:hello,python
4.zfill() 右对齐,左边用 0 填充, 该方法只接收一个参数,用于指定字符串的宽度,如果指定的宽度小于等于字符串的长度,返回字符串本身
s = 'hello,python'
print(s.zfill(20))
# 运行结果:00000000hello,python
print(s.zfill(10))
# 运行结果:hello,python
到此这篇关于 Python 格式化字符串的案例方法的文章就介绍到这了。
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)