format函数使用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了format函数使用方法相关的知识,希望对你有一定的参考价值。

参考技术A 本人只是初学阶段,在学习过程中的一些笔记。想借此平台也分享给刚刚学习的朋友,如有错的地方欢迎各位大神与高手指点。

通过 和 :  替换 %

通过format函数可以接受不限参数个数、不限顺序

format括号内用=给变量赋值

例子一:

a = 1

b = 2

c = 3

print('x+y+z=w'.format(x=a, y=b, z=c, w=a + b + c))

例子二:

def debug(func):

 def wrapper():

 print("[DEBUG]: enter ".format(func.__name__))

 return func()

 return wrapper

@debug

def say_hello():

 print("hello!")

say_hello()

通过对象属性

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('single', 4)

a1 = s.__func__()

print(a1)

填充和对齐

^<>分别表示居中、左对齐、右对齐,后面带宽度

print(':>10'.format('single')) # 右对齐

'    single'

print(':<10'.format('single')) # 左对齐

'single    '

print(':^10'.format('single')) # 居中

'  single  '

精度和类型f

精度常和f一起使用

print(':.2f'.format(3.1415)) # 精密到2位

‘3.14'

print(':.4f'.format(3.1)) # 精密到4位

‘3.1000'

进制转化

其中b o d x分别表示二、八、十、十六进制

print(':b'.format(10)) # 二进制

‘1010'

print(':o'.format(10)) # 八进制

‘12'

print(':d'.format(10)) # 十进制

‘10'

print(':x'.format(10)) # 十六进制

‘a'

千位分隔符

只针对数字

print(':,'.format(1000000)) # 整数

'1,000,000'

print(':,'.format(1000000.22555)) # 含小数

'1,000,000.22555'

print(':,.2f'.format(1000000.22555)) # 含小数,结合精准使用

'1,000,000.23'

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\'.



尤其是其中的精度与类型,用起来很方便

以上是关于format函数使用方法的主要内容,如果未能解决你的问题,请参考以下文章

实现Date函数属性中的format方法

Format函数使用总结

vb中format函数怎样定义的

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

Python中的format函数

python format函数的使用