字符串格式化同意在一个单个的步骤中对一个字符串运行多个特定类型的替换

特别是给用户提示的时候,格式化很方便

实现方法:

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-文件夹

最新文章

  1. centos 6.6中的yum源更换成国内的阿里云yum源
  2. jQuery的编码标准和最佳实践
  3. selenium之 定位以及切换frame(iframe)
  4. 课时9—popup
  5. react-native 的微信SDK辅助包,支持微信登录、微信分享、微信支付
  6. oracle导sql脚本
  7. sql for xml 嵌套
  8. Codeforces Gym 100733J Summer Wars 线段树,区间更新,区间求最大值,离散化,区间求并
  9. (Android Studio)添加按钮以及权重问题
  10. SharePoint 2013的100个新功能之搜索(二)
  11. smartforms客制页格式
  12. C++ Builder中TOpenDialog控件的使用例子
  13. Qt5:无边框窗口拖动
  14. Bootstrap模态弹出框
  15. 使用ASP.NET广告控件的XML语言创建广告链接--ASP.NET
  16. RPC原理及实现
  17. Ajax的一个实例及代码
  18. django-celery 创建多个broker队列 异步执行任务时指定队列
  19. linux中一些简便的命令之wc
  20. NET Core Kestrel部署HTTPS

热门文章

  1. nj11--http
  2. Data Member Order
  3. 可以通过shadowserver来查看开放的mdns(用以反射放大攻击)——中国的在 https://mdns.shadowserver.org/workstation/index.html
  4. Failed to start metasploit.service: Unit metasploit.service not found的解释
  5. Java Web应用定制404错误页面
  6. Android带弹性的View
  7. Spring控制反转容器的使用例子
  8. 我照着NancyFx官网的demo来做为什么会有错误呢????
  9. 空宏-标C中空宏的妙用
  10. eclipse maven install 时控制台乱码问题解决