python str.format()方法的基本用法
2016-03-16 15:53
691 查看
http://python.usyiyi.cn/python_278/library/stdtypes.html#str.format
str.format()方法的基本用法如下所示:
花括号及其中的字符(称为格式字段)将被替换为传递给str.format()方法的对象。括号中的数字指传递给str.format()方法的对象的位置。
如果str.format()方法使用关键字参数,那么将通过参数名引用它们的值。
位置参数和关键字参数可以随意组合:
‘!s’(适用str())和’!r’(适用repr())可以用于值被格式化之前对值进行转换。
字段名后允许可选的’:’和格式指令。这允许更好地控制如何设置值的格式。下面的例子将 Pi 转为三位精度。
‘:’后面紧跟一个整数可以限定该字段的最小宽度。这在美化表格时很有用。
如果你有一个实在是很长的格式字符串但又不想分开写,要是可以按照名字而不是位置引用变量就好了。有个简单的方法,可以传入一个字典,然后使用’[]’访问。
这也可以用‘**’符号将这个字典以关键字参数的方式传入。
这种方式与内置函数vars()组合起来将更加有用,该函数返回一个包含所有局部变量的字典。
str.format()方法的基本用法如下所示:
>>> print 'We are the {} who say "{}!"'.format('knights', 'Ni') We are the knights who say "Ni!"
花括号及其中的字符(称为格式字段)将被替换为传递给str.format()方法的对象。括号中的数字指传递给str.format()方法的对象的位置。
>>> print '{0} and {1}'.format('spam', 'eggs') spam and eggs >>> print '{1} and {0}'.format('spam', 'eggs') eggs and spam
如果str.format()方法使用关键字参数,那么将通过参数名引用它们的值。
>>> print 'This {food} is {adjective}.'.format( ... food='spam', adjective='absolutely horrible') This spam is absolutely horrible.
位置参数和关键字参数可以随意组合:
>>> print 'The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred', ... other='Georg') The story of Bill, Manfred, and Georg.
‘!s’(适用str())和’!r’(适用repr())可以用于值被格式化之前对值进行转换。
>>> import math >>> print 'The value of PI is approximately {}.'.format(math.pi) The value of PI is approximately 3.14159265359. >>> print 'The value of PI is approximately {!r}.'.format(math.pi) The value of PI is approximately 3.141592653589793.
字段名后允许可选的’:’和格式指令。这允许更好地控制如何设置值的格式。下面的例子将 Pi 转为三位精度。
>>> import math >>> print 'The value of PI is approximately {0:.3f}.'.format(math.pi) The value of PI is approximately 3.142.
‘:’后面紧跟一个整数可以限定该字段的最小宽度。这在美化表格时很有用。
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678} >>> for name, phone in table.items(): ... print '{0:10} ==> {1:10d}'.format(name, phone) ... Jack ==> 4098 Dcab ==> 7678 Sjoerd ==> 4127
如果你有一个实在是很长的格式字符串但又不想分开写,要是可以按照名字而不是位置引用变量就好了。有个简单的方法,可以传入一个字典,然后使用’[]’访问。
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678} >>> print ('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; ' ... 'Dcab: {0[Dcab]:d}'.format(table)) Jack: 4098; Sjoerd: 4127; Dcab: 8637678
这也可以用‘**’符号将这个字典以关键字参数的方式传入。
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678} >>> print 'Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table) Jack: 4098; Sjoerd: 4127; Dcab: 8637678
这种方式与内置函数vars()组合起来将更加有用,该函数返回一个包含所有局部变量的字典。
相关文章推荐
- python连接mysql数据库
- python 正则表达式
- 使用R和Python计算AUC
- python abc II
- openerp js调用Python类方法
- Python的web小游戏启动心得
- 【python】:python学习的好资源
- 【python】:python学习的好资源
- 如何在Windows下开发Python:在cmd下运行Python脚本
- Python测试驱动编写
- python学习6 web开发
- 【算法】-8大排序算法总结-Python
- python面向对象高级编程
- 用numpy里的savetxt()
- python数据持久存储:pickle模块的基本使用
- Parallel Python(PP)并行计算测试
- Python串行运算、并行运算、多线程、多进程对比实验
- Python 高级编程笔记之类别
- Python工程师面试题集合
- 探索Python数据分析(一):NLTK库和文本处理