26【python】sprintf风格的字符串

参考资料:https://docs.python.org/3.5/library/stdtypes.html#old-string-formatting

 实例

s#!/bin/python

a = ("year:%d model:%s") % (2018, 'BMW X5')
print(a) #year:2018 model:BMW X5

可以看到用这种类似于c语言中的printf函数,实现了字符串拼接,这个在实际应用中很常见,比如打日志,比如输出一段完整的内容,其中包含一些变量。

按照%出现的顺序,依次和后面的参数对应起来,来实现字符串拼接。

 

以下是一些提示

提示1:

前面出现的%必须和后边的参数个数保持一致,否则会报错:TypeError: not all arguments converted during string formatting

 

提示2:

这里如果输出%本身,需要用%来转义。

a = ("%% year:%d model:%s") % (2018, 'BMW X5')

 

提示3:

支持的所有类型见表格:

表示含义备注
%d整型 
%i整型 
%u整型和%d一样
%f浮点数 
%F浮点数 
%e指数形式的整型 
%E指数形式的整型 
%g浮点数表示,精度太低,需要指数介入时会用到,e是小写的 
%G浮点数表示,精度太低,需要指数介入时会用到,e是大写的 
%x十六进制表示 
%X十六进制表示 
 %cchar类型 必须是单个字符,否则报错 
%o八进制这里是字母o
%r使用函数repr()来转化后的string 
%sstring类型,使用str()转换后的值 
%astring,使用ascii(0函数转换后的值 

以上是所有常用的类型。

 

对于%d,支持类似于%3d(3位整型),'% 8d','%08d'这样的表示。

类似的%f,也是一样的,支持%8.5f。

其它格式见链接:https://docs.python.org/3.5/library/stdtypes.html#old-string-formatting

转载于:https://www.cnblogs.com/helww/p/9906411.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值