python字符串格式化

python字符串格式化

一、%站位符方法

格式

%[(name)][flags][width].[precision]typecode

参数说明

  • (name):变量命名

  • flag:旗帜位

    +号表示左对齐
    -号表示右对齐
    ‘ ’表示在正数左侧添加一个空格而使得和负数对齐
    0表示在数字左侧添加一个0进行填充

  • width:占有宽度

  • precision:精度

  • typecode:类型符

  • 类型符:

    • s:字符串(实际上可以接收任何类型的变量)
    • d(i):十进制整型
    • f(F):浮点数
    • %:显示百分数(默认保留小数点后6位)
    • o:八进制数
    • x:十六制数

常用格式化

n1 = "i am %s age %d"%("hyj",26)
n2 = "i am %(name)s age %(age)d"%{"name":"hyj","age":26}
n3 = "i am \033[45m%(name)s\033[0m"%{"name":"hyj"}
 # \033[45m%s\033[0m包裹的部分可以改变颜色
>>> print("%04d" % 5)
0005
print("%.3f" % 2.3) #小数点后保留三位
2.300

二、format方法

格式

:[fill][align][sign][#][0][width][,][.precision][type]

参数说明

  • fill:空白处可以填充的字符
  • align:对齐方式

< 内容左对齐
> 内容右对齐
= 内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
^ 内容居中

  • sign:有无符号数字

+ 正数加正号,负数加负号
- 正数不变,负数加负号
‘ ’ 正数加空格,负数加负号

  • #:对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
  • ,:为数字添加分隔符
  • width:占有宽度
  • precision:精度
  • typecode:类型符

常用格式化方法

f1 = "i am {0}, i am {1} years old".format('hyj',26)   
#采用位置参数来索引
f2 = "i am {name}, i am {age:d} years old".format(**{'name':'jeck','age':26})   
#采用自定义key来缩影,此时**表示将字典的k/v取出 也可以用*来将列表或者元祖中的值按顺序取出来
f3 = "原数:{:d}  二进制:{:b}, 八进制:{:o}, 十六进制x:{:x},十六进制X:{:X}".format(15, 15, 15, 15, 15) 
>>> f3
原数:15  二进制:1111, 八进制:17, 十六进制x:f,十六进制X:F  
#进制转换
f4 = "--{name:*^10s}--   =={age:<10.2f}==".format(name='Jack',age=26.457)   
#将name的宽度设置为10,空余的使用*号不全,并居中显示,age类型设置为浮点型,宽度为10.并左对齐
>>> f4
'--***Jeck***--   ==26.46     =='
>>> f5 = " my name is {0[0]},my hobby is play {0[1]}".format(*[("hyj","game")]) #
>>> f5
' my name is hyj,my hobby is play game'
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值