Python-11 字符串格式化

时间:2021-08-07 21:03:48

一、字符串的format()方法

接受两种参数:位置参数、关键字参数,两种参数均传递到replacement字段中,在字符串中以大括号表示。

1、位置参数

>>> '{0} love {1},{2}'.format('I','beijing','too')
'I love beijing,too'
>>>

2、关键字参数

>>> '{a} love {b},{c}'.format('I','beijing','too')
Traceback (most recent call last):
File "<pyshell#88>", line 1, in <module>
'{a} love {b},{c}'.format('I','beijing','too')
KeyError: 'a'
>>> '{a} love {b},{c}'.format(a='I',b='beijing',c='too')
'I love beijing,too'
>>>

3、位置参数和关键参数一起使用

两种参数一起使用时,位置参数必须在关键字参数之前。

>>> '{0} love {b},{c}'.format('I',b='beijing',c='too')
'I love beijing,too'
>>> '{a} love {b},{2}'.format(a='I',b='beijing','too')
SyntaxError: non-keyword arg after keyword arg
>>>
 
 

>>> print('\ta')
a

>>> print('\\')
\
>>> '{{0}}'.format('')
'{0}'
>>>


:表示格式化符号的开始,后面接的是格式化符号。1是四舍五入,f是打印定点数 (定点数和浮点数类似都是小数)。
>>> '{0:.1f}{1}'.format(23.675,'GB')
'23.7GB'
>>>


二、字符串的格式化操作符

符号     说明
%c 格式化字符及其ASCII码                
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化定点数,可指定小数点后的精度     
%e
用科学计数法格式化定点数
%E
作用同%e,用科学计数法格式化定点数
%g
根据值的大小决定使用%f或%e
%G
作用同%g,根据值的大小决定使用%f或%E

 

1、%c

>>> '%c' % 97
'a'
>>>

使用元组

>>> '%c %c %c' % (97,98,99)
'a b c'
>>>

2、%s

>>> '%s' % 'beijing','shanghai'
('beijing', 'shanghai')
>>> '%s' % 'beijing shanghai'
'beijing shanghai'
>>>
3、%d

>>> '%d+%d=%d' % (4,5,4+5)
'4+5=9'
>>>

4、%o

>>> '%o' % 12
'14'
>>>

5、%x

>>> '%x' % 10
'a'

6、%X

>>> '%X' % 10
'A'

7、%f

>>> '%f' % 23.456
'23.456000'

8、%e

>>> '%e' % 23.456
'2.345600e+01'

9、%E

>>> '%E' % 23.456
'2.345600E+01'
>>>

10、%g

>>> '%g' % 454654654754.1213
'4.54655e+11'
>>> '%g' % 45.12133
'45.1213'

11、%G

>>> '%G' % 454654654754.1213
'4.54655E+11'
>>> '%G' % 45.12133
'45.1213'
>>>

格式化操作辅助命令

符号    说明    
m.n m是显示的最小总宽度,n是小数点后的位数      
- 用于左对齐
+ 在正数前面显示(+)
# 在八进制数前面显示('0o'),在十六进制前面显示'0x'或'0X'   
0 显示的数字前面填充'0'取代空格

>>> '%3.2f' % 23.4546
'23.45'
>>> '%3.2f' % 23.4576
'23.46'
>>>
>>> '%6.2f' % 23.4576' 23.46'

>>> '%.2e' % 23.4576
'2.35e+01'
>>> '%.2E' % 23.4576
'2.35E+01'

- 左对齐
>>> '%9.2f' % 23.4576
' 23.46'
>>> '%-9.2f' % 23.4576
'23.46 '

+

>>> '%+.2f' % 23.4576
'+23.46'
>>> '%+.2d' % 23.4576
'+23'
>>> '%+6.2f' % 23.4576
'+23.46'
>>> '%+9.2f' % 23.4576
' +23.46'
>>>
>>> '%+d' % -5'-5'>>> 


#

>>> '%#o' % 10
'0o12'

>>> '%#x' % 10
'0xa'
>>> '%#X' % 10
'0XA'
>>>

0
>>> '%07.2f' % 12.456
'0012.46'
>>> '%#o' % 10
'0o12'
>>> '%010d' % 3
'0000000003'
>>> '%-010d' % 3
'3 '
>>> '%-07.2f' % 12.456
'12.46 '
>>>

字符串转义字符含义

   符号      说明       
   \' 单引号      
   \" 双引号
   \a 发出系统响铃     
   \b 退格符
   \n
换行符
   \t
横向制表符
   \v
纵向制表符
   \r
回车符
   \f
换页符
   \o
八进制数代表的字符     
   \X
十六进制数代表的字符
   \0
表示一个空字符
   \\
反斜杠