Python字符串格式化
字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。语法如下:
format_string % string_to_convert
format_string为格式标记字符串,形式为“%cdoe”;string_to_convert 为要格式化的字符串,如果是两个以上,则需要用小括号括起来。
| 格式化符号 | 说明 |
|---|---|
| %c | 转换成字符(ASCII 码值,或者长度为一的字符串) |
| %r | 优先用repr()函数进行字符串转换(Python2.0新增) |
| %s | 优先用str()函数进行字符串转换 |
| %d / %i | 转成有符号十进制数 |
| %u | 转成无符号十进制数 |
| %o | 转成无符号八进制数 |
| %x / %X | (Unsigned)转成无符号十六进制数(x / X 代表转换后的十六进制字符的大 小写) |
| %e / %E | 转成科学计数法(e / E控制输出e / E) |
| %f / %F | 转成浮点数(小数部分自然截断) |
| %g / %G | %e和%f / %E和%F 的简写 |
| %% | 输出% |
>>> #打印字符串
>>> print('My name is %s' % 'Rusky')
My name is Rusky
>>> #打印整数
>>> print('He is %d years old' % (26))
He is 26 years old
>>> #打印浮点数
>>> print('His height is %f M' % (1.78))
His height is 1.780000 M
>>> print('His height is %.2f M' % (1.78))
His height is 1.78 M
>>> #指定占位符宽度
>>> print('Name:%10s Age:%8d Height:%8.2f' % ('Rusky',26,1.78))
Name: Rusky Age: 26 Height: 1.78
>>> #指定占位符宽度-左对齐
>>> print('Name:%-10s Age:%-8d Height:%-8.2f' % ('Rusky',26,1.78))
Name:Rusky Age:26 Height:1.78
>>> #科学计数法
>>> format(3.141592611111111111111,'.2e')
'3.14e+00'
>>>
*******VICTORY LOVES PREPARATION*******
浙公网安备 33010602011771号