|
格式汇总:
不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用'%s‘来标记。 比如:'%s %s %s' % (1,2.3,['one','two','three']) 它的输出为'1 2.3 ['one','three']',就是按照%左边的标记输出的。 虽然第一个和第二值不是string类型,一样没有问题。 [在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。]
上面说的只是格式标记的最简间的形式,来看复杂一点的: 制定输出长度: ‘%6.2f' % 1.235 在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位。
还有更复杂的: 占位符: ‘%06.2f' % 1.235 在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。 这一行的输出为‘001.24',可以看到小数也占用一位。
类似于这里0这样的标记还有-、+。其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的。
实例: %ns:如果字符串变量s不足n位的话,会先输出若干个空格后再输出str1 %-ns:与上述相反,先输出变量s,不足的然后用空格在后面补齐。
其他: 字典格式化输出: ‘%(name)s:%(score)06.1f' %{'score':9.5,'name':'newsim'} 这种形式只用在要输出的内容为dictionary时。小括号中的(name)和(score)对应于后面的键值对中的键。
有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。 可以用%*.*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。 比如:'%*.*f' % (6,2,2.345)就相当于'%6.2f' % 2.345。 不过如果记不住,或不想那么耐烦,完全可以全部用%s代替,或者用多个"+"来构造类似的输出字符串。 (编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|