# 零基础学python-7.6 字符串格式化表达式
字符串格式化允许在一个单个的步骤中对一个字符串执行多个特定类型的替换
特别是给用户提示的时候,格式化非常方便
实现方法:
1.格式化表达式,类似于c语音的printf
在表达式中,我们使用%二进制操作符
~~~
>>> print('this is %d %s bird' % (1,'dead'))
this is 1 dead bird
~~~
举上面的例子说明(注意我们下面所说的%,都是以字符串和元组中间的那个为准)
在%的左边放置一个字符串,字符串里面放置了一个或者多个使用%开头的嵌入对象
在%的右边放入一个(或多个,嵌入元组当中)对象,这些对象将插入到左边的转换目标位置上
~~~
>>> name='ray'
>>> 'my name is %s' % name
'my name is ray'
>>> '%d %s %d you' % (1,'spam',4)
'1 spam 4 you'
>>> '%s---%s---%s' % (42,3.14,[1,2,3])
'42---3.14---[1, 2, 3]'
>>>
~~~
当插入多个对象时,需要把他们放到一个元组里面
2.高级格式化表达式
字符串格式化代码列表
| 代码 | 意义 |
|---|---|---|
| s | 字符串(或者任何对象) |
| r | s,但是用repr,而不是str |
| c | 字符 |
| d | 十进制整数 |
| i | 整数 |
| u | 无号整数 |
| o | 八进制整数 |
| x | 十六进制整数 |
| X | x,但打印大写 |
| e | 浮点指数 |
| E | e,但打印大写 |
| f | 浮点十进制 |
| F | 浮点十进制 |
| g | 浮点e或f |
| G | 浮点e或f |
| % | 常量% |
%[(name)][flags][width][.pression]typecode
例子
~~~
>>> x=1234
>>> res='integers:...%d...%-6d...%06d' % (x,x,x)
>>> res
'integers:...1234...1234 ...001234'
>>>
~~~
%e,%f,%g对于浮点数的打印是有所区别的
~~~
>>> x=1.23456789
>>> x
1.23456789
>>> '%e|%f|%g' % (x,x,x)
'1.234568e+00|1.234568|1.23457'
>>>
~~~
3.基于字典的格式化表达式
~~~
>>> 'my name is %(name)s,my age is %(age)d' % {'name':'ray','age':30}
'my name is ray,my age is 30'
>>>
~~~
说白了就是给每个替换位置命名,这样代码看起来更加明了
就说到这里,谢谢大家
- 前言
- 零基础学python-7.1 python中的字符串简介与常用函数
- 零基础学python-7.2 字符串常量
- 零基础学python-7.3 字符串的一般使用
- 零基础学python-7.4 修改字符串实例总结
- 零基础学python-7.5 文本解析
- 零基础学python-7.6 字符串格式化表达式
- 零基础学python-7.7 字符串格式化方法(1)
- 零基础学python-7.7 字符串格式化方法(2)
- 轻松python文本专题-单独处理字符串每个字符的方法汇总
- 轻松python文本专题-字符与字符值转换
- 轻松python文本专题-判断对象里面是否是类字符串(推荐使用isinstance(obj,str))
- 轻松python文本专题-字符串对齐
- 轻松python文本专题-去掉字符串前后空格
- 轻松python文本专题-拼接、合并字符串
- 轻松python文本专题-字符串逐字符反转以及逐单词反转
- 轻松python文本专题-maketrans和translate
- 轻松python文本专题-字符串开头或者结尾匹配