通过位置参数传参

  1. print('{}, {}'.format('KeithTt', 18))
  2. # KeithTt, 18

位置参数可以通过索引调用

  1. print('{1}, {0}'.format('KeithTt', 18))
  2. # 18, KeithTt

通过关键字参数传参

  1. print('{name}, {age}'.format(name='KeithTt', age=18))
  2. # KeithTt, 18
  3. print('{age}, {name}'.format(name='KeithTt', age=18))
  4. # 18, KeithTt

^, <, > 分别是居中、左对齐、右对齐,后面带宽度
号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充

+ 表示总是显示正负符号,在正数前显示 +,负数前显示 -

b、d、o、x 分别是二进制、十进制、八进制、十六进制

保留两位小数,其中.2表示精度,f 表示float类型

  1. print('{:.2f}'.format(3.1415926))
  2. # 3.14
  3. >>> print('{:.5f}'.format(3.1415926))
  4. # 3.14159

不带类型时比较特殊,使用科学计数法,如果整数位个数+1大于精度,将使用符号表示

  1. >>> print('{:.2}'.format(3.1415926))
  2. # 3.1
  3. >>> print('{:.2}'.format(13.1415926))
  4. # 1.3e+01
  5. >>> print('{:.3}'.format(13.1415926))
  6. # 13.1

不带小数,即精度为0

  1. print('{:.0f}'.format(3.1415926))
  2. # 3

加号 + 表示总是输出正负符号

  1. print('{:+.2f}'.format(3.1415926))
  2. # +3.14
  3. print('{:+.2f}'.format(-3.1415926))
  4. # -3.14

指定宽度和对齐方式,默认是右对齐>,>符号可省

  1. print('{:>10.2f}'.format(3.1415926))
  2. # 3.14
  3. print('{:<10.2f}'.format(3.1415926))
  4. # 3.14
  5. print('{:^10.2f}'.format(3.1415926))
  6. # 3.14

指定填充字符,默认是空格,只能是一个字符

  1. print('{:0>10.2f}'.format(3.1415926))
  2. # 0000003.14
  3. print('{:*>10.2f}'.format(3.1415926))
  4. # ******3.14
  5. print('{:*<10.2f}'.format(3.1415926))
  6. # 3.14******

用等号 = 让正负符号单独在最前面

  1. print('{:=+10.2f}'.format(3.1415926))
  2. # + 3.14
  3. print('{:=+10.2f}'.format(-3.1415926))
  4. # - 3.14

加上填充字符,正负符号始终在最前面

  1. print('{:*=+10.2f}'.format(3.1415926))
  2. # +*****3.14
  3. print('{:0=+10.2f}'.format(3.1415926))
  4. # +000003.14

用逗号分隔数字

  1. print('{:,}'.format(1000000))
  2. # 1,000,000

将浮点数转换成百分比格式

  1. print('{:.0%}'.format(0.25))
  2. # 25%

使用大括号 {} 转义大括号

  1. print ('{}对应的位置是{{0}}'.format('KeithTt'))
  2. # KeithTt对应的位置是{0}

另外,除了format()之外,字符串对象还有一些其它更直观的格式化方法

  • str.ljust(): 左对齐
  • str.rjust(): 右对齐
  • str.center(): 居中

示例: 格式化打印下面的数据,要求各部分对齐

  1. d = {
  2. 'lodDisk': 100.0,
  3. 'SmallCull': 0.04,
  4. 'DistCull': 500.0,
  5. 'trilinear': 40,
  6. 'farclip': 477
  7. }
  8. # 计算出所有key的最长宽度
  9. w = max(map(len, d.keys()))
  10. print(w)
  11. # 9
  12. for k,v in d.items():
  13. print(k.ljust(w), ':', v)
  1. lodDisk : 100.0
  2. SmallCull : 0.04
  3. DistCull : 500.0
  4. trilinear : 40
  5. farclip : 477

参考:

https://docs.python.org/3/library/functions.html#format

https://docs.python.org/3/library/string.html#format-specification-mini-language

http://docspy3zh.readthedocs.io/en/latest/tutorial/inputoutput.html

http://www.runoob.com/python/att-string-format.html

字符串格式化format方法的更多相关文章

  1. Python字符串格式化--format()方法

    https://blog.csdn.net/i_chaoren/article/details/77922939       csdn

  2. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  3. Python中格式化format()方法详解

    Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参 ...

  4. Python中使用f字符串进行字符串格式化的方法

    在<第3.10节 Python强大的字符串格式化新功能:使用format字符串格式化>介绍了使用format进行字符串格式化的方法,在Python 3.6中,如果格式化字符串中的关键字参数 ...

  5. js字符串格式化扩展方法

    平时使用js的时候会遇到很多需要拼接字符串的时候,如果是遇到双引号和单引号混合使用,经常会搞混.在C#中有string.Format方法,使用起来非常方便,也很容易理解,所以找到一种参考C#的form ...

  6. Python: 字符串格式化format()函数的使用

    python从2.6开始支持format,新的更加容易读懂的字符串格式化方法,从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, ...

  7. 字符串格式化format很牛B

    python的format方法可谓相当强大,它可以接受不限个参数... 1.通过位置来格式化字符串,注意format传入的参数的位置要正确{0}对应第1个参数,{1}对应第2个参数... >&g ...

  8. 字符串str.format()方法的个人整理

    引言: 字符串的内置方法大致有40来个,但是一些常用的其实就那么20几个,而且里面还有类似的用法,区分度高比如isalpha,isalnum,isdigit,还有一些无时不刻都会用到的split切分, ...

  9. Python3之字符串格式化format函数详解(上)

    概述 在Python3中,字符串格式化操作通过format()方法或者f’string’实现.而相比于老版的字符串格式化方式,format()方法拥有更多的功能,操作起来更加方便,可读性也更强.该函数 ...

随机推荐

  1. Slurm任务调度系统部署和测试(源码)(1)

    1. 概述1.1 节点信息2. 节点准备3. 部署NTP服务器4. 部署LDAP服务器5. 部署Munge认证服务6. 部署Mysql数据库服务7. 部署slurm7.1 创建slurm用户7.2 挂 ...

  2. 做完小程序项目、老板给我加了5k薪资~

    大家好,我是苏南,今天要给大家分享的是最近公司做的一个小程序项目,过程中的一些好的总结和遇到的坑,希望能给其他攻城狮带来些许便利,更希望能做完之后老板给你加薪- 今天是中秋节的第一天,假日的清晨莫名的 ...

  3. NuGet 使用笔记

    环境准备 1. 下载nuget : https://www.nuget.org/downloads 2. 设置到环境变量Path, 使生效:在Cmd打入: set path=abc  关闭Cmd (C ...

  4. Pair_Work Project

    结对项目小记 ——by    12061227 康    12061179 宇帆 结对编程就是一种敏捷软件开发的方法,两个人在一个计算机上共同工作.一个人输入,而另一个人检查他输入的每一行代码.输入代 ...

  5. 个人博客作业_week7

    心得 在为期将近一个月的团队编程中,给我感受最深的是敏捷开发和团队中队员之间的互补. 在最初的软件开发中,由于以前没有这方面的经验,所以并没有很大的进展.在慢慢过度中,我们找到了自己的节奏感,大家各自 ...

  6. 关于本科毕业论文《Laguerre小波在数值积分与微分方程数值解中的应用》存在的问题与小结

    本科的毕业设计<Laguerre小波在数值积分与微分方程数值解中的应用>是通过Laguerre小波函数来近似表达某个需要求积分或解微分方程的函数,将原函数很难求得函数用小波函数表达出来,这 ...

  7. 阅读<构建之法>10、11、12章

    第十章: 典型用户和场景对后面工作有什么帮助吗? 第十一章: 每日构建的目的是什么呢?有没有具体说明? 第十二章: 产品定位人群是否也局限了产品的可拓展性?

  8. Atcoder D - Knapsack 1 (背包)

    D - Knapsack 1 Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100 points Problem Statement The ...

  9. MySQLi面向对象实践--insert、update、delete

    执行insert <?php $mysqli = new Mysqli(); $mysqli->connect("localhost","root" ...

  10. Installing and removing VNC Connect | Red Hat | VNC Connect

    https://www.realvnc.com/en/connect/docs/redhat-install-remove.html 此软件会和TigerVNC(Server)或者X11VNC Ser ...