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

语法

它通过{}和:来代替%。

“映射”示例

通过位置

In [1]: '{0},{1}'.format('kzc',18)

Out[1]: 'kzc,18'

In [2]: '{},{}'.format('kzc',18)

Out[2]: 'kzc,18'

In [3]: '{1},{0},{1}'.format('kzc',18)

Out[3]: '18,kzc,18'

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

通过关键字参数

In [5]: '{name},{age}'.format(age=18,name='kzc')

Out[5]: '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)

In [2]: str(Person('kzc',18))

Out[2]: 'This guy is kzc,is 18 old'

通过下标

In [7]: p=['kzc',18]

In [8]: '{0[0]},{0[1]}'.format(p)

Out[8]: 'kzc,18'

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

格式限定符

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

填充与对齐填充常跟对齐一起使用

^、分别是居中、左对齐、右对齐,后面带宽度

:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

比如

In [15]: '{:>8}'.format('189')

Out[15]: ' 189'

In [16]: '{:0>8}'.format('189')

Out[16]: '00000189'

In [17]: '{:a>8}'.format('189')

Out[17]: 'aaaaa189'

精度与类型f精度常跟类型f一起使用

In [44]: '{:.2f}'.format(321.33345)

Out[44]: '321.33'

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

其他类型主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。

In [54]: '{:b}'.format(17)

Out[54]: '10001'

In [55]: '{:d}'.format(17)

Out[55]: '17'

In [56]: '{:o}'.format(17)

Out[56]: '21'

In [57]: '{:x}'.format(17)

Out[57]: '11'

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

In [47]: '{:,}'.format(1234567890)

Out[47]: '1,234,567,890'

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

python中format函数怎么样提取字符串里的字符_Python中用format函数格式化字符串的用法...相关推荐

  1. python中try和except语句语言导入包吗_Python异常处理中try与except用法的案例

    Python异常处理中try与except用法的案例 发布时间:2020-11-03 09:44:36 来源:亿速云 阅读:85 作者:小新 小编给大家分享一下Python异常处理中try与excep ...

  2. python判断字符串里的字符_Python检测字符串中是否包含某字符集合中的字符

    目的 检测字符串中是否包含某字符集合中的字符 方法 最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 def containAny(seq,aset): for c in seq: if c ...

  3. python判断字符串里的字符_python 判断检测字符串中是否包含指定字符或字符串(比如:?)...

    in: 10px auto; padding: 0px; color: rgb(17, 17, 17); font-family: Verdana, Arial, Helvetica, sans-se ...

  4. Python中通过索引名称提取数据loc()函数Python中通过行和列下标提取数据iloc()函数

    [小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python中通过索引名称提取数据 loc()函数 Python中通过 ...

  5. 在python中,用正则表达式提取多层括号中最外层括号包含的内容

    提取多层括号中最外层括号包含的内容有几种方式,那么用正则表达式该怎么实现呢? 在python中,用正则表达式提取多层括号中最外层括号包含的内容 比如有一个字符串 : 学习python中有什么不懂的地方 ...

  6. python实现:计算字符的个数,接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数。不区分大小写。

    题目内容: 接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数.不区分大小写. 可以使用以下语句实现字符串s的输入: s=str(input()) 输入格式: 输入一个 ...

  7. 处理字符串_6_拆分字符串里的字符和数

    拆分字符串里的字符和数字 需求描述 需求:过滤tmp_v视图里data字段拆分会原来的ename和deptno两个字段. 解决方法:这里通过translate.replace.repeate(repl ...

  8. 求字符串里里面字符出现的次数和出现哪些不同的字符的字符串

    题目: 字符串里里面字符出现的次数和出现哪些不同的字符 such as 字符串"aaaabbbccd" 打印出出现a4次,b3次,c2次,d1次,出现的不同字符的字符串为" ...

  9. c++字符串输入_【pwn】什么是格式化字符串漏洞?

    0x00 前言 格式化字符串漏洞是在CWE[1](Common Weakness Enumeration,通用缺陷枚举)例表中的编号为CWE-134,由于在审计过程中很容易发现该漏洞,所以此类漏洞很少 ...

  10. groovy 字符串截取最后一个_python数据类型总结——数字和字符串

    如同人有姓名一般,当python中的数据被创建后,会在存储介质中分配一块区域用于存储数据.通常,我们需要一个名字来指代这部分数据.python变量 数据的名字,称之为变量.数据存放在内存空间中,变量持 ...

最新文章

  1. HTML(六)——表单验证、正则表达式、事件
  2. JDK1.7安装配置环境变量+图文说明Jmeter安装
  3. BUUCTF-[网鼎杯 2020 青龙组]singal——angr学习记录
  4. 管理费用负数报不了怎么办_我的心脏血管堵了很久,大夫说打不开了,我可怎么办?...
  5. python 分析两组数据的差异_R语言limma包差异基因分析(两组或两组以上)
  6. [转载] ANTLR——编译原理基础知识
  7. Spring Http Invoke 请求过程图
  8. (27)FPGA计数器设计(硬核实现)
  9. setUserVisibleHint-- fragment真正的onResume和onPause方法
  10. win11安装助手闪退怎么办 Windows11安装助手闪退的解决方法
  11. jmeter笔记02
  12. FFmpeg实现多段小视频合成
  13. 交通流理论3——交通流三大参数
  14. 中望cad自定义快捷键命令_[cad常用快捷键命令大全]中望cad常用快捷键及命令
  15. ppt复制切片器_ppt中制作动态图表,并不难,使用powerbi三步搞定
  16. wireshark常用过滤表达式
  17. 一个windows右键关联工具
  18. 彻底解决金山毒霸锁定chrome主页
  19. QT 科学计算器与谷歌拼音输入法实现
  20. ODC20:更开放的行业解决方案,进击的OPPO IoT生态与云能力

热门文章

  1. VOIP通信中影响语音质量的因素
  2. 欢迎大家推荐使用小技巧
  3. SpringCloud下的springboot工程,访问jsp页面报404问题
  4. 2.OAuth 2实战 --- OAuth 之舞
  5. 47. PHP 魔术方法
  6. 46. Element isEqualNode() 方法
  7. 3.Magento的布局(Layout),块(Block)和模板(Template)
  8. 反射类 Method类的使用
  9. 打开TestFlight并链接到具体的应用下载界面
  10. 3D打印产业链全景图