上QQ阅读APP看书,第一时间看更新
4.2.3 format字符串格式化
从Python 2.6开始,引入了另外一种字符串格式化的方式,形式为str.format()。str.format()是对百分号(%)格式化的改进。使用str.format()时,替换字段部分使用花括号表示。在交互模式下输入:
>>> 'hello,{}'.format('world') 'hello,world' >>> print('圆周率PI的值为:{0}'.format(3.141593)) 圆周率PI的值为:3.141593 >>> print('圆周率PI的值为:{0:.2f}'.format(3.141593)) 圆周率PI的值为:3.14 >>> print('圆周率PI的值为:{pi}'.format(pi=3.141593)) 圆周率PI的值为:3.141593 >>> print('{}年的冬奥会将在{}举行,预测中国至少赢取{}枚金牌'.format('2022','北京',5)) 2022年的冬奥会将在北京举行,预测中国至少赢取5枚金牌 >>> print('{0}年的冬奥会将在{1}举行,预测中国至少赢取{2}枚金牌'.format('2022','北京',5)) 2022年的冬奥会将在北京举行,预测中国至少赢取5枚金牌 >>> print('{0}年的冬奥会将在{2}举行,预测中国至少赢取{1}枚金牌'.format ('2022',5,'北京')) 2022年的冬奥会将在北京举行,预测中国至少赢取5枚金牌 >>> print('{year}年的冬奥会将在{address}举行'.format(year='2022',address='北京')) 2022年的冬奥会将在北京举行
由输出结果可以看到,str.format()的使用形式为:用一个点号连接字符串和格式化值,多于一个的格式化值需要用元组表示。字符串中,带格式化的占位符用花括号({})表示。
花括号中可以没有任何内容,没有任何内容时,若有多个占位符,则元组中元素的个数需要和占位符的个数一致。
花括号中可以使用数字,数字指的是元组中元素的索引下标,字符串中花括号中的索引下标不能超过元组中最大的索引下标,元组中的元素值可以不全部使用。如以下示例:
>>> print('{0}年的冬奥会将在{2}举行'.format('2022',5,'beijing','sh')) 2022年的冬奥会将在beijing举行
花括号中可以使用变量名,在元组中对变量名赋值。花括号中的所有变量名,在元组中必须要有对应的变量定义并被赋值。元组中定义的变量可以不出现在字符串的花括号中。如下面的示例所示:
>>> print('{year}年的冬奥会将在{address}举行'.format(year='2022',address='北京', num=5)) 2022年的冬奥会将在北京举行