在编程中我们经常需要对输出的内容进行格式化后再输出,比如经常收到的手机订阅短信内容,“尊敬的***用户,您本月的消费金额是***”,这里的***所代表的内容是动态的根据具体的内容进行输出,就要用到了格式化输出,那么在python中如何进行字符串的格式化输出呢?其实跟其他的编程语言类似,需要用到占位符,就是用具体的占位符来代替上述***的内容,根据上述***的内容的不同,占位符也有所不同,常用的占位符有以下几种:
占位符 | 替换内容 |
%s | 字符串 |
%d | 整数 |
%f | 浮点数 |
%x | 十六进制整数 |
%s表示的是用字符串替换占位符内容,%d表示用整数替换,比如%.3f就表示浮点数保留小数点后两位,并切字符串里有几个占位符,%后面就跟几个变量或者值,并且数据类型的顺序要对应好。如果只有一个占位符的话,%后面的括号可以省略。
比如:
#第一个%s表示用字符串替换,对应后面的刘备,%d表示整数占位符,对于括号里面的175865523221, #因为占位符有两个所以后# 面替换的内容需要加括号,并且字符串内容和替换内容中间要加%, #这个不能少,不然就是把大括号里面的所有内容当成字符串输出了#并且不管对于任何内容使用字符串占位符都是可以的, #因为前面的内容是字符串# python里的注释是用#, #不同于其他语言的// 或者/**print(%s,你好,请打电话%d%(刘备,175865523221)) print(%s,你好,请打电话%s%(刘备,175865523221)) 复制代码
则输出
#浮点类型的占位符,.3 .2表示的是保留小数点后几位小数,只有一个占位符, #则不需要括号print(%.2f % 2.568976) print(%.3f % 2.568976) print(%3f % 2.568976) print(%.3f %.2f % (2.568976,2.3698)) 复制代码
结果如下
#整数类型的占位符print(%.3d % 3) print(%03d % 3) print(%3d % 3) print(%d % 3) 复制代码
结果输出:注意标记的地方的不同
十六进制整数
#十六进制整数print(%x % 3) print(%x % 322) 复制代码
输出结果
另外还有一种格式化字符串的方法是使用 字符串format()方法,是讲传入的参数依次替换字符串内的{0},{1}...... ,,比如:
#format()print({0},你好,请打电话{1}.format(刘备,175865523221)) print({0},你好,你的消费金额为{1:.3f}.format(刘备,3.56897)) print({0},你好,你的消费金额为{1}.format(刘备,3.56897)) print({0},你好,请打电话{1:d}.format(刘备,175865523221)) 复制代码
输出:
以上就是python中对于字符串的格式化的简单的使用!