自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. php 模板使用,在PHP中使用模板的方法
  2. 转 JavaScript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)...
  3. 学python可以干嘛-学 Python 都用来干嘛的?
  4. webview添加网页加载进度条
  5. CentOS环境下tomcat启动超级慢的解决方案
  6. 《HTML5 Canvas开发详解》——导读
  7. 想要成为Java架构师不容放过的知识—Maven的版本发布
  8. 支援 Chrome 插件:微软 Chromium 内核 Edge 浏览器可以下载啦!
  9. JAVA学习-JAVA实现对象描述(java面向对象特性)
  10. Focal Loss 分类问题 pytorch实现代码(简单实现)
  11. Hibernate持久化对象状态
  12. 三菱FX系列PLC连接触摸屏及组态软件以太网通信方案
  13. Qpainter事件
  14. 使用Android Studio 创建第一个Android 应用
  15. 大数据服务节点配置参考
  16. 【寻找最佳小程序】03期:摩拜单车小程序——联合微信团队打造,实现不换码一扫即用
  17. freeswitch拨打分机号源代码跟踪
  18. 【ROS学习记录】在gazebo中加入差分驱动插件后rostopic没有/cmd_vel话题的一种解决办法
  19. 全国物流企业有哪些 物流企业详细信息怎么查询
  20. 技术人才的出路在哪里,5种选择和2种思路

热门文章

  1. Centos更新配置文件命令
  2. linux 学习6 软件包管理 资料链接
  3. 项目中的文件夹与tomcat/webapp中manager文件夹重名
  4. 5.网络层(3)---路由选择协议
  5. Git_Eclipse:[2]Git初始化配置
  6. PHP 常用算法集锦
  7. JS对象 颠倒数组元素顺序reverse() reverse() 方法用于颠倒数组中元素的顺序。
  8. javascript基础知识-数组
  9. NPOI SetColumnHidden隐藏列不起作用的原因
  10. Hadoop 参数配置优化