自 python 2.6 开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱。
#语法
它通过{}:来代替%

位置

'{0},{1}'.format('kzc',18) # kzc,18
'{},{}'.format('kzc',18) # kzc,18
'{1},{0},{1}'.format('kzc',18) # 18,kzc,18

字符串的 format 函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。

参数名

'{name}, {age}'.format(age=18,name='kzc')  # 'kzc, 18'

对象属性

class Person:
def __init__(self,name,age):
self.name,self.age = name,age
def __str__(self):
return 'This guy is {self.name},is {self.age} old'.format(self=self)
str(Person('kzc',18)) # 'This guy is kzc,is 18 old'

对象下标

arg_arr = ["kevin", 26]
msg = "name: {0[0]}, age: {0[1]}".format(arg_arr) #name: kevin, age: 26

有了这些便捷的“映射”方式,我们就有了偷懒利器。基本的 python 知识告诉我们,list 和 tuple 可以通过“打散”成普通参数给函数,而 dict 可以打散成关键字参数给函数(通过和 * )。所以可以轻松的传个 list/tuple/dict 给 format 函数。非常灵活。

格式限定符

它有着丰富的的“格式限定符”(语法是{}中带:号),比如:

填充与对齐

填充常跟对齐一起使用
对齐
< (默认)左对齐
> 右对齐
^ 中间对齐
= (只用于数字)在小数点后进行补齐
填充
: 后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

'{:>8}'.format('')  # '   189'
'{:0>8}'.format('') #
'{:a>8}'.format('') # aaaaa189

精度与类型f

精度常跟类型f一起使用

'{:.2f}'.format(321.33345)  # 321.33

其中 .2 表示长度为 2 的精度,f 表示 float 类型。

进制

bdox分别是二进制、十进制、八进制、十六进制。

'{:b}'.format(17) #
'{:d}'.format(17) #
'{:o}'.format(17) #
'{:x}'.format(17) #

,号还能用来做金额的千位分隔符。

'{:,}'.format(1234567890) # 1,234,567,890

数据类型

b:二进制。将数字以2为基数进行输出。
c:字符。在打印之前将整数转换成对应的Unicode字符串。
d:十进制整数。将数字以10为基数进行输出。
o:八进制。将数字以8为基数进行输出。
x:十六进制。将数字以16为基数进行输出,9以上的位数用小写字母。
e:幂符号。用科学计数法打印数字。用’e’表示幂。
g:一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。
n:数字。当值为整数时和’d’相同,值为浮点数时和’g’相同。不同的是它会根据区域设置插入数字分隔符。
%:百分数。将数值乘以100然后以fixed-point(‘f’)格式打印,值后面会有一个百分号。

转:https://blog.csdn.net/lpw_cn/article/details/84559705

python format(格式化)的更多相关文章

  1. 【387】Python format 格式化函数

    参考:Python format 格式化函数 # 保留小数点后两位 f'{3.1415926:.2f}' # 带符号保留小数点后两位 f'{3.1415926:+.2f}' f'{-1:+.2f}' ...

  2. Python format 格式化函数。

    Python format 格式化函数  Python 字符串 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 ...

  3. python format格式化函数用法

    python format格式化函数用法 原文 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前 ...

  4. 【Python】Python format 格式化函数(转帖)

    https://www.runoob.com/python/att-string-format.html Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符 ...

  5. Python format格式化函数

    参考资料:https://www.runoob.com/python/att-string-format.html 在学习Python的时候碰到了一个很有趣的格式化输入的技巧,下面记录在此. Pyth ...

  6. Python format格式化时使用‘’{‘’或者‘’}‘’

    用format格式化时,如果其中要用到‘’{‘’或者‘’}‘’,需要进行转义,否则报错 {{  ,}}使用同样的符号实现转义,而不是‘/’

  7. Python format 格式化函数

    str.format() 格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % format 函数可以接受不限个参数,位置可以不按 ...

  8. python format格式化字符串

    自python2.6开始,新增了一种格式化字符串的函数str.format() 语法 它通过{}和:来代替%. “映射”示例 通过位置 In [1]: '{0},{1}'.format('kzc',1 ...

  9. Python format格式化输出

    http://www.jb51.net/article/63672.htm 推荐参考 >>> '{0},{1}'.format('hello','python') 'hello,py ...

随机推荐

  1. 详解docker中容器devicemapper设备的挂载流程

    事故起因 版本说明:本文中docker版本主要基于1.10版本,操作系统为centos7.devicemapper在文中缩写为dm. 某个用户的容器启动不起来,启动时候一直报错.通过docker lo ...

  2. SpringMVC,SpringBoot使用ajax传递对象集合/数组到后台

    假设有一个bean名叫TestPOJO. 1.使用ajax从前台传递一个对象数组/集合到后台. 前台ajax写法: var testPOJO=new Array(); //这里组装testPOJO数组 ...

  3. 原生JS封装创建多级菜单函数

    手写一个使用原生JS封装的多级菜单的函数,满足以下几点需求. 子类层级不确定,可根据数据自动生成多级菜单. 操作便捷,只需传入一个HTML标签. 缺点: 需要满足特定的数据结构 废话不多说,展示代码. ...

  4. 【codeforces 242E】XOR on Segment

    [原题题面]传送门 [题面翻译]传送门 [解题思路] 操作涉及到区间求和和区间异或,考虑到异或操作,我们对每个数二进制分解. 把每一位单独提出来做,异或要么取反要么变为不变,对于每一位建一颗线段树,那 ...

  5. Python各种图像库的图像的基本读写方式

    目前主流的图像库有几下几种: 1. OpenCV      2. PIL(Pillow)       3. matplotlib.image     4. skimage      5. scipy. ...

  6. javascript prop和attr的区别

    在网上找了一些资料,通过自己去寻找,尝试,此次做一次总结. 1/  attr()是jQuery 1.0版本就有的函数,    prop()是jQuery 1.6版本新增的函数.毫无疑问,在1.6之前, ...

  7. SPOJ 1812 LCS2 - Longest Common Substring II

    思路 后缀自动机求多串的最长公共子串 对第一个建出后缀自动机,其他的在SAM上匹配,更新到一个节点的匹配长度最大值即可,最后对所有最大值取min得到一个节点的答案,对所有节点答案求max即可 然后注意 ...

  8. 性能测试监控工具nmon安装及使用方法

    1.概述 监控,在检查系统问题或优化系统性能工作上是一个不可缺少的部分.通过操作系统监控工具监视操作系统资源的使用情况,间接地反映了各服务器程序的运行情况.根据运行结果分析可以帮助我们快速定位系统问题 ...

  9. CentOS7.5 下搭建SFTP

    CentOS7.5 下搭建SFTP Linux 创建用户组 groupadd sftp 创建用户test useradd -G sftp -s /sbin/nologin test -s 禁止用户ss ...

  10. python-Word模板填充-docxtpl

    docxtpl 按指定的word模板填充内容 安装 pip install docxtpl 示例 from docxtpl import DocxTemplate data_dic = { 't1': ...