Python 字符串的格式化

Python 字符串的格式化,第1张

Python 字符串的格式化

1. %s 直接将数字格式化为整数。(只能拼接数字。)

例:

'%s'%13.14
#其运行结果为:
'13'

2. %d 将对象格式化为整数。(将小数格式化为整数。)

例:

'%d'%13.14
#其运行结果为:
'13'

注意:%d 针对的是数字,不能是字符串

(一)当%与d之间加自然数(n)时,n代表格式化后的字符串的长度;

(二)设要格式化的对象小数点前的位数为b

                       当n > b时,输出时会补充(n - b)个空格

                       当n <= b时,输出时位数上限为b,即输出小数点前的部分

(三)当%与d之间的自然数前有0或者小数点(.)时,表示缺的部分用0补充。

例:

'%7d'%13.14
#其运行结果为:
'     13'
'%3d'%1314420.52
#其运行结果为:
'1314420'
'%07d'%13.14
#其运行结果为:
'0000013'
'%.7d'%13.14
#其运行结果为:
'0000013'

3. %f 将对象格式化为浮点数。

(一)格式化为浮点数时,默认小数点后为6位。

例:

'%f'%13.14
#其运行结果为:
'13.140000'

(二)若想更改小数点后的位数为n,则在%与f之间加入.n。

                       注意:若要格式化的对象的小数点后的位数 < 6,即使n > 6,格式化后小数点后仍是6位。

                                   若要格式化的对象的小数点后的位数 >6,则格式化后小数点后的位数为n位。(四舍五入)

例:

'%.3f'%13.14
#其运行结果为:
'13.140'
'%.8f'%13.14
#其运行结果为:
'13.140000'
'%.8f'%1314.5201314420
#其运行结果为:
'1314.52013144'

(三)设格式为;'%0.nf'%z

                       其中:0表示:当位数不够时用0补齐,若无0时默认用空格补齐,不能用其他数字。

                                                 注意:这里不能用小数点(.)了。

                                   d表示:这是一个自然数,代表输出后的浮点数的长度。[小数点(.)也算一位。]

                                   n表示:要保留的小数点的位数。

                                   z表示:要格式化的对象。

                                   注意:若格式化的对象小数点后的位数大于n,则会进行四舍五入。

例:

'%08.3f'%1314.54297
#其运行结果为:
'1314.543'

                                   注意:格式化后浮点数的长度不一定为d

                                               令要格式化的对象的小数点前的位数为x.

                                               当x + n <= d时,格式化后的浮点数的长度为d;

                                               当x + n > d时,格式化后的浮点数的长度为(x + n + 1)。

例:

'%09.4f'%5201314.01211
#其运行结果为:
'5201314.0121'
'%09.4f'%520.01211
#其运行结果为:
'0520.0121'

4. %c 将对象格式化为ascll码。

(一) 找到数字对应的ascll码

例;

'%c'%97
#其运行结果为:
'a'

(二) 通过ascll码找到对应的数字(ord())

例:

ord('a')
#其运行结果为:
97

5. %o 将对象格式化为八进制。

八进制的含义:逢八进一

格式为:'%o'%n

(1)当n < 8时,输出'n';

(2)当n > 8时,输出其八进制所对应的数字。

例:

'%o'%6
#其运行结果为:
'6'
'%o'%15
#其运行结果为:
'17'

6. %x 将对象格式化为16进制。

格式:'%x'%n

(1)当n < 10 时,直接输出'n';

(2)当10 < n < 16时,输入a ~ f

(3)当n > 16时,输出其16进制所对应的数字。

例:

'%x'%2
#其运行结果为:
'2'
'%x'%11
#其运行结果为:
'b'
'%x'%17
#其运行结果为:
'11'

7. %e 格式化输出科学计数法

格式:'%e'%n

例:

'%e'%12
#其运行结果为:
'1.200000e+01'

注意:小数点后默认为6位,当n的长度 > 7 时,仍是6位,不过要进行四舍五入。

            在%和e之间加(.x),可以保留为x位小数。

例:

'%e'%123456789
#其运行结果为:
'1.234568e+08'
'%.2e'%123456789
#其运行结果为:
'1.23e+08'

8. %r 将对象原样输出

格式:'%r'%n

注意:n是什么样的,就输出什么样的

例:

'%r'%'123'
#其运行结果为:
"'123'"
print('%r'%'123')
#其运行结果为:
'123'
print('%r'%123)
#其运行结果为:
123

而利用%s无法判断原本输入的为字符串还是数字。

例:

print('%s'%'123')
#其运行结果为:
123
print('%s'%123)
#其运行结果为:
123

故:如果涉及到数据类型方面,就用%r而不用%s

        尤其是对于数据类型方面特别重要的情况。​​​​​​​

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5689756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存