在Python3中,%操作符通过一个更强的格式化方法format()进行了增强。
1》字段名字可以为整数,表示参数的位置,如下:
>>> print('My name is:{0},and my age is:{1}'.format('song',18))
My name is:song,and my age is:18
2》字段名字也可以是参数的名字,如下:
>>> print('My name is:{name},and my age is:{age}'.format(name='song',age=18))
My name is:song,and my age is:18
3》可以使用字段的组合来读取属性或者字典中key对应的值,如下:
>>> import sys
>>> sys.platform
'win32'
>>> sys.version
'3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)]'
>>> print('platform:{0.platform}\nversion:{0.version}'.format(sys))
platform:win32
version:3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)]
>>> d={'name':'song','age':18}
>>> d
{'name': 'song', 'age': 18}
#字典 d 中的键为字符串'name'和'age',但在下面的print()语句中,需要去掉引号,如下:
>>> print('My name is:{0[name]},and my age is:{0[age]}'.format(d))
My name is:song,and my age is:18
>>> print('My name is:{0[1]}'.format(['zhang','song','liu'])) #针对列表的操作
My name is:song
4》格式化指示符可以包含一个展示类型来控制格式,如下:
>>> print('{0:e}'.format(3.1415)) #用科学计数法打印数字,默认保留6位小数
3.141500e+00
>>> print('{0:.3e}'.format(3.1415)) #用科学计数法打印数字,指定保留3位小数
3.142e+00
>>> print('{0:%}'.format(0.12)) #打印百分数,默认保留6位小数
12.000000%
>>> print('{0:.2%}'.format(0.34)) #打印百分数,指定保留2位小数
34.00%
>>> print('{0:b}'.format(18)) #将数字以2为基数进行输出(二进制)
10010
>>> print('{0:d}'.format(18)) #将数字以10为基数进行输出(十进制整数)
18
>>> print('{0:o}'.format(18)) #将数字以8为基数进行输出(八进制)
22
>>> print('{0:x}'.format(180)) #将数字以16为基数进行输出,9以上的位数用小写字母(十六进制)
b4
>>> print('{0:X}'.format(180)) #将数字以16为基数进行输出,9以上的位数用大写字母(十六进制)
B4
5》有一个内置的format()方法可以用来格式化一个值,它会调用类型的__format__()方法,并将格式化指示符作为参数传进去,如下:
>>> format(3.1415926,'f') #默认保留6位小数
'3.141593'
>>> format(3.1415926,'.3f') #指定保留3位小数
'3.142'
以上便是,python3中format()方法的简单使用,我们就介绍到这里,大家可以查阅书籍进行更加深入的学习。。。