2018-07-06
2018-07-06 本文已影响0人
艾斯热蛙
python格式化输出%与format方法对比
本来已经学完字符串的format格式,今天看到还有%输出方法,虽然format方法已经很全面,但为了能看懂别人的代码,在此学习一下,并复习format方法
1. 基本格式对比:
字符串的输出很直接,对要输出的字符串添加引号即可。格式化输出主要是为了在输出的字符串中间添加变量。
1.1 %格式化输出基本格式:
变量采用%占位,同时必须指定变量类型,比如%s(字符串类型),字符串和变量间采用%连接, 变量放在()中,多个变量采用逗号分隔,变量依次和字符串中每个百分号一一对应,对于单个变量括号可以省略。如:
1.2 format格式化输出基本格式:
变量采用{}占位,可以不指定类型,字符串后面紧跟.format(),变量放在format括号里面,多个变量用逗号分隔,{}中未指定顺序时,变量依次与括号一一对应。如:
与%输出不同的是,format格式变量可以用数字指定和与{}的对应关系(%格式需要用字典对应),变量的序号依次为0, 1,2......,在{}中填入数字即可与变量按序号对应,如:
2. 浮点数输出对比:
以10/3为例,打印结果,当不指定小数位数时,%f或者{:f}默认保留6位有效数字,{}则默认显示16位有效数字(实测第16位及以后数字不准确)。使用%.2f或者{:.2f}保留2位小数,其他位数以此类推。
3.格式控制对比:
按从左往右顺序依次写,同意列的参数不分先后顺序,不需要的参数不写即可。
4.总结
总的来说,对于不太熟悉其他语言的人来说,format格式更加简洁易懂,对于熟悉c语言的人来说,%形式可能更加通用。