python常用的格式化字符串方法

python常用的格式化字符串方法

格式化字符串在基础的字符串学习中是一个重要的部分,我们按格式化方式来介绍:

%格式化

'hello, %s' % 'world!'
>>>'hello, world!'

'一共%d元!' % 23
>>>'一共23元!'

'结果:%.2f' % 2.457
>>>'结果:2.46'
# 格式化多个内容使用元组传递
'第一个%s, 第二个%d' % ('hello', 23)
>>>'第一个hello, 第二个23'

format()函数格式化:

# 第一点0,1占位这样可以很方便调整
# >表示左边填充(默认是空格)
'这是多个结果:1-{1:3d}, 2-{0:>12s}'.format('hello', 1234)
>>>'这是多个结果:1-1234, 2-       hello'
  • 一个经典的场景:

假设我们获取到了年月日的数值,需要格式化成2019-01-04的形式,那么上面的填充就有了很好的应用:

'{:4d}-{:0>2d}-{:0>2d}'.format(2019, 1, 4)
>>>'2019-01-04'

通过变量名格式化字符串

实际编写脚本的时候我们会遇到将处理后缓存变量的结果格式化输出:

name = "sandwich"
sentence = "hello!"
f"{name} said '{sentence}'"
>>> "sandwich said 'hello!'"

格式化字符串的补充

  • 格式化符号:
符号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%F 和 %E 的简写
%p用十六进制数格式化变量的地址
  • 辅助指令(format形式下需调整):
符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
<sp>在正数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’而不是默认的空格
%‘%%‘输出一个单一的’%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

!r的格式化是基于__repr__()魔法方法的,后续补充说明,建议初学者不必了解,到面向对象部分再深入理解。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值