Python-11 字符串格式化

一、字符串的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.nm是显示的最小总宽度,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
表示一个空字符
   \\
反斜杠






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值