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函数的使用的主要内容,如果未能解决你的问题,请参考以下文章

python 内置函数format

python输出格式化及函数format

python字符串的format函数如何使用?

python format函数的使用

python使用上下文对代码片段进行计时,非装饰器

13 个非常有用的 Python 代码片段