python format函数的使用
Posted 让学习成为一种生活方式
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python format函数的使用相关的知识,希望对你有一定的参考价值。
转载自:http://www.cnblogs.com/kaituorensheng/p/5709970.html
python自2.6后,新增了一种格式化字符串函数str.format(),威力十足,可以替换掉原来的%
注:以下操作版本是python2.7
映射示例
语法
通过{} 和 : 替换 %
通过位置
>>> \'{0} is {1}\'.format(\'jihite\', \'4 years old\') \'jihite is 4 years old\' >>> \'{0} is {1} {0}\'.format(\'jihite\', \'4 years old\') \'jihite is 4 years old jihite\'
通过format函数可以接受不限参数个数、不限顺序
通过关键字
>>> \'{name}:{age}\'.format(age=4,name=\'jihite\') \'jihite:4\' >>> \'{name}:{age}\'.format(age=4,name=\'jihite\',locate=\'Beijing\') \'jihite:4\'
format括号内用=给变量赋值
通过对象属性
>>> class Person: ... def __init__(self, name, age): ... self.name,self.age = name, age ... def __func__(self): ... return "This guy is {self.name}, is {self.age} old".format(self=self) ... >>> s =Person(\'jihite\', 4) >>> s.__func__() \'This guy is jihite, is 4 old\'
通过下标
>>> \'{0[0]} is {0[1]} years old!\'.format([\'jihite\', 4]) \'jihite is 4 years old!\' >>> \'{0} is {1} years old!\'.format(\'jihite\', 4) \'jihite is 4 years old!\'
其实就是通过位置
格式限定符
通过{} : 符号
填充和对齐
^<>分别表示居中、左对齐、右对齐,后面带宽度
>>> \'{:>10}\'.format(\'jihite\') \' jihite\' >>> \'{:<10}\'.format(\'jihite\') \'jihite \' >>> \'{:^10}\'.format(\'jihite\') \' jihite \'
精度和类型f
精度常和f一起使用
>>> \'{:.2f}\'.format(3.1415) \'3.14\' >>> \'{:.4f}\'.format(3.1) \'3.1000\'
进制转化
>>> \'{:b}\'.format(10) \'1010\' >>> \'{:o}\'.format(10) \'12\' >>> \'{:d}\'.format(10) \'10\' >>> \'{:x}\'.format(10) \'a\'
其中b o d x分别表示二、八、十、十六进制
千位分隔符
>>> \'{:,}\'.format(1000000) \'1,000,000\'
>>> \'{:,}\'.format(100000.23433)
\'100,000.23433\'
>>> \'{:,}\'.format(\'abcedef\') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: Cannot specify \',\' with \'s\'.
尤其是其中的精度与类型,用起来很方便
以上是关于python format函数的使用的主要内容,如果未能解决你的问题,请参考以下文章