从Python2.6开始新增了一个格式化字符串函数str.format
,它增强了字符格式化功能。
基本语法是通过{}
和:
来代替以前的%
。
format函数可以接受多个参数,参数的位置可以不按顺序。
>>> '{} {}'.format('hello','world') # 不设置指定位置,则按默认顺序
'hello world'
>>> '{0} {1}'.format('Hello','world') # 设置指定位置
'Hello world'
>>> '{1} {0} {1}'.format('Hello','world') # 设置指定位置
'world Hello world'
>>> print('网站名:{name} \t地址:{url}'.format(name='百度',url='www.baidu.com'))
网站名:百度 地址:www.baidu.com
# 通过字典设置参数
>>> site = {'name':'百度','url':'www.baidu.com'}
>>> print('网站名:{name} \t 地址:{url}'.format(**site))
网站名:百度 地址:www.baidu.com
# 通过列表设置参数
>>> nList = ['百度','www.baidu.com']
>>> print('网站名:{0[0]} \t 地址:{0[1]}'.format(nList))
网站名:百度 地址:www.baidu.com
数字格式化
>>> print('{:.2f}'.format(3.1415926))
3.14
>>>
选项 | 含义 |
---|---|
'<' |
强制该字段在可用空间内左对齐(这是大多数对象的默认值)。 |
'>' |
强制字段在可用空间内右对齐(这是数字的默认值)。 |
'=' |
强制将填充放置在符号(如果有)之后但在数字之前。这用于以“+000000120”形式打印字段。此对齐选项仅对数字类型有效。当‘0’紧接在字段宽度之前时,它变为默认值。 |
'^' |
强制字段在可用空间中居中。 |
'+' |
表示正号和负号都应使用符号。 |
'-' |
表示符号应仅用于负数(这是默认行为)。 |
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
此外我们可以使用大括号 {} 来转义大括号,如下实例:
>>> print ("{} 对应的位置是 {{0}}".format("runoob"))
runoob 对应的位置是 {0}
网友评论