【Python基础知识】format()函数都有什么作用

发布 : python培训      来源:python干货资料

2020-04-01 15:04:03

Python解释器内置了许多函数,这意味着我们无需定义,始终可以它们。接下来和大家一起讨论一个常用的内建函数-format()函数。

Python3引入了一种新的方式来格式化字符串,这个同样也向反向移植到了Python2.7中。“新式”格式化字符串废除了%操作符这种特殊语法,格式化字符串更常规。格式化字符串现在是以在字符串对象上调用format()函数来处理。

你可以使用format()函数来做些简单的位置格式化:

  1. >>> score = 59
  2. >>> name = 'Ming'
  3. >>> '{} {}'.format(score, name)
  4. '59 Ming'

无论是整数还是字符串都可以用大括号格式化。下面会演示一些format方法格式化字符串的强大特性。

数字

  1. >>> '{}'.format(42)
  2. '42'
  3. >>> '{}'.format(3.14)
  4. '3.14'
  5. >>> '{:d}'.format(42) # 'd'代表整数
  6. '42'
  7. >>> '{:d}'.format(3.14)
  8. Traceback (most recent call last):
  9. File "", line 1, in
  10. ValueError: Unknown format code 'd' for object of type 'float'
  11. >>> '{:f}'.format(3.14) # 'f'代表浮点数
  12. '3.140000'
  13. >>> '{:.2f}'.format(3.14)
  14. '3.14'
  15. >>> '{:.5f}'.format(3.1415926) # 被舍掉的第一位是2,直接舍掉了
  16. '3.14159'
  17. >>> '{:.6f}'.format(3.1415926) # 被舍掉的第一位是6,往前进了一位
  18. '3.141593'
  19. >>> '{:+d}'.format(42) # 可以使用正负号
  20. '+42'
  21. >>> '{:d}'.format((-42))
  22. '-42
  23. >>> '{:,}'.format(123456789) # 使用',' 将数字每三个一隔开
  24. '123,456,789'

调整顺序

  1. >>> '{0} {1} {2}'.format(42, 'Ming', 3.14) # 使用数字可以调整格式化字符串的顺序
  2. '42 Ming 3.14'
  3. >>> '{2} {1} {0}'.format(42, 'Ming', 3.14)
  4. '3.14 Ming 42'
  5. >>> '{2} {0} {1}'.format(42, 'Ming', 3.14)
  6. '3.14 42 Ming'

使用名字

  1. # 可以指定需要格式化字符串的名字,这样做可读性更好
  2. >>> '{name}的分数是{score}'.format(name="Ming", score=59)
  3. 'Ming的分数是59'

填充和对齐

  1. >>> '{:>10}'.format('Ming') # 一共占10个“格子”,如果不够则尽量靠右,其余用空格填充
  2. ' Ming'
  3. >>> '{:10}'.format('Ming') # 一共占用10个“格子”,如果不够则尽量靠左,其余用空格填充
  4. 'Ming '
  5. >>> '{:^10}'.format('Ming') # 一共占用10个“格子”,如果不够则尽量居中,其余用空格填充
  6. ' Ming '
  7. >>> &#39;{:_<10}&#39;.format(&#39;Ming&#39;) # 一共占用10个“格子”,如果不够则尽量靠左,其余用&#39;_&#39;填充
  8. &#39;Ming______&#39;
  9. >>> &#39;{:s<10}&#39;.format(&#39;Ming&#39;) # 一共占用10个“格子”,如果不够则尽量靠左,其余用&#39;s&#39;填充
  10. &#39;Mingssssss&#39;
  11. >>> &#39;{:_>10}&#39;.format(&#39;Ming&#39;) # 一共占用10个“格子”,如果不够则尽量靠右,其余用&#39;_&#39;填充
  12. &#39;______Ming&#39;
  13. >>> &#39;{:_^10}&#39;.format(&#39;Ming&#39;) # 一共占用10个“格子”,如果不够则尽量居中,其余用&#39;_&#39;填充
  14. &#39;___Ming___&#39;
  15. # 格式化数字,一共占10个“格子”,如果不够则尽量靠右,其余用空格填充
  16. >>> &#39;{:10d}&#39;.format(59)
  17. &#39; 59&#39;
  18. >>> &#39;{:06.2f}&#39;.format(3.141592653589793) # 保留两位小数,一共占用6位
  19. &#39;003.14&#39;

截断长字符串

  1. >>> &#39;{:.4}&#39;.format(&#39;Xiao Ming&#39;) # 只保留字符串的前四位
  2. &#39;Xiao&#39;
  3. # 只保留字符串的前四位,一共占用10个“格子”,如果不够则尽量靠左,其余用空格填充
  4. >>> &#39;{:10.4}&#39;.format(&#39;Xiao Ming&#39;)
  5. &#39;Xiao &#39;

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部