上QQ阅读APP看书,第一时间看更新
5.4 格式化字符串
微视频
Python语言支持格式化字符串的输出。字符串格式化使用字符串操作符百分号(%)来实现。在百分号的左侧放置一个字符串(格式化字符串),右侧放置希望被格式化的值。可以使用一个值,如一个字符串或数字,也可以使用多个值的元组或字典。例如:
>>>x = "我这次%s 的考试成绩为%d 分。" >>>y = ('数学',98) >>>z= x % y >>>print (z) 我这次数学的考试成绩为98分。
%左边放置了一个待格式化的字符串,右边放置的是希望格式化的值。格式化的值可以是一个字符串或数字。
上述%s和%d为字符串格式化符号,标记了需要放置转换值的位置。其中,s表示百分号右侧的值会被格式化为字符串,d表示百分号右侧的值会被格式化为整数。
Python语言中字符串格式化符号如表5-4所示。
表5-4 Python语言中字符串格式化符号
这里特别指出,若格式化浮点数,则可以提供所需要的精度,即一个句点加上需要保留的小数点位数。因为格式化字符总是以类型的字符结束,所以精度应该放在类型字符前面。例如:
>>> x = "我这次数学的考试成绩为%.1f 分。" >>> y =98.5 >>> z= x % y >>> print (z) 我这次数学的考试成绩为98.5分。
如果不指定精度,默认情况下就会显示6位小数。例如:
>>> x = "我这次数学的考试成绩为%f 分。" >>> y =98.5 >>> z= x % y >>> print (z) 我这次数学的考试成绩为98.500000分。
如果要在格式化字符串中包含百分号,就必须使用%%,这样Python才不会将百分号误认为格式化符号。例如:
>>>x = "今年销售额比去年提升了:%.1f%%" >>>y =18.6 >>>z=x % y >>>print (z) 今年销售额比去年提升了:18.6%