Python 的格式化字符串format函数

阅读mattkang在csdn中的博客《飘逸的python - 增强的格式化字符串format函数》所做笔记

自从python2.6开始,新增了一种格式化字符串的函数str.format(),他通过{}和:来代替%。

1、映射实例

In[1]: ‘{0},{1}‘.format(‘abc‘, 18)
Out[1]: ‘abc,18‘

In[2]: ‘{}‘.format(18)
out[2]: 18

In[3]: ‘{1},{0},{1}‘.format(‘abc‘, 123)
out[3]: ‘123,abc,123‘

In[4]: ‘{name}, {age}‘.format(age=18, name = ‘abc‘)
out[4]: ‘abc, 18‘

In[5]: p = [‘abc‘, 18]
In[6]: ‘{0[0]}, {0[1]}‘.format(p)
out[6]: ‘abc, 18‘

2、格式限定符

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

填充与对齐:

填充欲对其一起使用

^, <, >分别是居中,左对齐,右对齐,后跟宽度

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

比如:

In[7]: ‘{:>8}‘.format(‘189‘)
out[7]: ‘     189‘

In[8]: ‘{:0>8}‘.format(‘189‘)
out[8]: ‘00000189‘

精度与类型

精度常跟类型f一起使用

In[9]: ‘{:.2f}‘.format(321.3456)
out[9]: ‘321.34‘

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

其他类型

主要就是进制, b, d, o, x分别是二进制、十进制、八进制和十六进制

In[10]: ‘{:b}‘.format(17)
out[10]: ‘10001‘

In[11]: ‘{:d}‘.format(17)
out[11]: ‘17‘

In[12]: ‘{:o}‘.format(17)
out[12]: ‘21‘

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

In[13]: ‘{:,}‘.format(1234567890)
out[13]: ‘1,234,567,890‘
时间: 2025-01-04 15:02:22

Python 的格式化字符串format函数的相关文章

飘逸的python - 增强的格式化字符串format函数

自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 语法 它通过{}和:来代替%. "映射"示例 通过位置 字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以. 通过关键字参数 通过对象属性 通过下标 有了这些便捷的"映射"方式,我们就有了偷懒利器.基本的Python知识

格式化字符串format函数

自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 语法 它通过{}和:来代替%. “映射”示例 通过位置 字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以. 通过关键字参数 通过对象属性 通过下标 有了这些便捷的“映射”方式,我们就有了偷懒利器.基本的python知识告诉我们,list和tuple

python - 增强的格式化字符串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才可以.

python中强大的format函数

自python2.6开始,新增了一种格式化字符串的函数str.format(),此函数可以快速处理各种字符串.语法 它通过{}和:来代替%. 请看下面的示例,基本上总结了format函数在python的中所有用法 1 #通过位置 2 print '{0},{1}'.format('chuhao',20) 3 4 print '{},{}'.format('chuhao',20) 5 6 print '{1},{0},{1}'.format('chuhao',20) 7 8 #通过关键字参数 9

python 中的 str.format()函数

转自:http://blog.csdn.net/handsomekang/article/details/9183303 自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 语法 它通过{}和:来代替%. "映射"示例 通过位置 In [1]: '{0},{1}'.format('kzc',18)   Out[1]: 'kzc,18'   In [2]: '

【python】格式化字符串

字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作.语法如下:format_string % string_to_convertformat_string为格式标记字符串,形式为“%cdoe”:string_to_convert 为要格式化的字符串,如果是两个以上,则需要用小括号括起来. 字符串格式化符号 格式化符号 说明 %c 转换成字符(ASCII 码值,或

【Python】格式化字符串和format函数

## 本文基于Python3,可能存在部分内容不适配Python2 1. 最简单的字符串的输出: str1 = 'popma is so cool' print(str1) 输出: popma is so cool 2. '%S'格式化字符串输出: 格式化字符串时,字符串中有格式符,字符串就变成一个模板了: 例如: str2 = '%s is so cool' %'popma' print(str2) 输出还是像上面的一样,可以试试看. 但是如果有多个格式符,如何处理呢?Python用一个tup

Python 字符串格式化%与format() 函数 九

这是12月规划的内容,2018年一月开篇~ 如果有什么错误,还请提出来~ 格式化这个在print已经提到一点,说实话和C语言非常类似 %的方法: %[(name)][flags][width].[precision]typecode (name)      可选,用于选择指定的key print("Year :%(year)s"%{'year':2018}) flags          可选,可供选择的值有: +       右对齐:正数前加正好,负数前加负号: -        左

Python字符串format函数

python从2.6开始支持format,一种新的更加容易读懂的字符串格式化方法. 1. 替代旧的%输出 旧的格式化输出方法: #!/usr/bin/python name = 'Tom' age = 18 print '%s is %d years old' % (name,age) 使用format函数格式化输出: #!/usr/bin/python name = 'Tom' age = 18 print '{0} is {1} years old'.format(name,age) 相比于