pyho字符串格式化,pyho字符串格式化的问题

python字符串格式化的问题

pyho字符串格式化,pyho字符串格式化的问题

文章插图
这是格式化功能的基本语法
%:代表着后面的以字母结束几个字符是对格式化方式的规定,主要内容:d表示格式化成整数,s表示格式化成字符串,x表示格式化成16进制数;这些字幕前面可以有数字,表示最终的长度;
如果你要在格式化结果中出现%,需要用两个%%表示
那么看看 :
%d%%%d:表示要格式化的数据有两个,都是整数,中间要加一个%号
1%3,3%4这是需要格式化的数据,第一个计算结果是1,第二个是3
那么结果就是:1%3
这是基本语法,建议你好好看看
python字符串格式化输出的时候类似{0:.3f}是什么意思?
pyho字符串格式化,pyho字符串格式化的问题

文章插图
%f 保留小数点后面六位有效数字,%.3f 保留三位小数 。
%e 保留小数点后面六位有效数字,指数形式输出 。
%3e 保留3位小数位,使用科学计数法 。
%g 保留六位有效数字的前提下,使用小数方式,否则用科学计数法 。
%3g保留3位有效数字,使用小数或科学计数法 。
%s 标准输出 。
%10s 右对齐,占位符10位 。
【pyho字符串格式化,pyho字符串格式化的问题】%10s 左对齐,占位符10位 。
%.2s 截取2位字符串 。
%10.2s 10位占位符,截取两位字符串 。
扩展资料
sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代itoa 。
如:
//把整数123 打印成一个字符串保存在s 中 。
sprintf(s, "%d", 123); //产生"123"可以指定宽度,不足的左边补空格:
sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"当然也可以左对齐:
sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567" 。
也可以按照16 进制打印:
sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐 。
sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐 。
参考资料来源:
百度百科——输出格式
关于python的字符串格式化
pyho字符串格式化,pyho字符串格式化的问题

文章插图
在python中也有类似于c中的printf()的格式输出标记 。在python中格式化输出字符串使用的是%运算符,通用的形式为
格式标记字符串 % 要输出的值组
其中,左边部分的”格式标记字符串“可以完全和c中的一致 。右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开 。重点来看左边的部分 。左边部分的最简单形式为:
%cdoe
其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用’%s‘来标记 。比如:
'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])
它的输出为'1 2.3 ['one', 'two', 'three']',就是按照%左边的标记输出的 。虽然第一个和第二值不是string类型,一样没有问题 。在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出 。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记 。除了%s外,还有很多类似的code:
整型数:%d
无符号整型数:%u
八进制:%o
十六进制:%x%X
浮点数:%f
科学记数法: %e%E
根据数值的不同自动选择%e或%f: %g
根据数值的不同自动选择%E或%f: %G
就跟前面说用\进行转义一样,这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题 。如果要在”格式标记字符串“中输出%本身,可以用%%来表示 。