字符串格式化同意在一个单个的步骤中对一个字符串运行多个特定类型的替换
特别是给用户提示的时候,格式化很方便
实现方法:
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‘ >>>
说白了就是给每一个替换位置命名,这样代码看起来更加明了
就讲到这里,谢谢大家
------------------------------------------------------------------
时间: 2024-11-10 08:36:45