赞
踩
目录
格式化输出的三种方式:%、f和str.format
通过占位符进行进行拼接,常用的拼接方式有三种分别是:%s、%d和%f。
使用%s进行拼接内容时,实际上可以拼接任何类型的内容。
i = '你好'
print('i的值是:%s,类型为:%s' % (i,type(i)))i = 123
print('i的值是:%s,类型为:%s' % (i,type(i)))i = 123.332
print('i的值是:%s,类型为:%s' % (i,type(i)))
输出结果为:
i的值是:你好,类型为:<class 'str'>
i的值是:123,类型为:<class 'int'>
i的值是:123.332,类型为:<class 'float'>
在使用%d的形式进行拼接是,如果被拼接的内容是String类型则会报错:TypeError: %d format: a real number is required, not str。
如果被拼接的内容是float类型,在输出时则会去掉小数点后面的数字,不会进行四舍五入。
i = 123.932
print('i的值是:%d,类型为:%s' % (i,type(i)))
结果为:
i的值是:123,类型为:<class 'float'>
%d的宽度限制的使用方式是在d前面加一个限制范围如:%4d,如果规定的范围超过数字的或者说是整数部分的长度,则会在前面加上一定数量的空格,若是小于,则没有影响。
num1 = 23.2
print('数字23宽度限制5,结果是:%5d' % num1)
print('数字23宽度限制1,结果是:%1d' % num1)
结果为:
数字23宽度限制5,结果是: 23
数字23宽度限制1,结果是:23
使用%f,可以规定宽度和精度。如:%m.n,m表示宽度,n表示精度。
若不进行限制,整数部分会原样进行输出,小数部分若是长度小于6,则会自动添加0,若是小数部分大于6,则六位数之后的数字不在进行输出。
num1 = 23.2
num2 = 433.4322345print('num1 = %f' % num1)
print('num2 = %f' % num2)
结果为:
num1 = 23.200000
num2 = 433.432234
宽度规定的是数字的长度,精度表示的是小数点后的数字。
若不设置精度只设置宽度,则小数点后的数字长度为六位。此时数字的长度为:小数点后的六位+上小数点所占的一位再+整数部分所占的长度。
若宽度所设置的范围长度小于该数字的长度,数字则会正常输出,若规定的范围长度大于数字的长度,则会在数字面前添加相对应的空格。
num1 = 23.2
print('num1 =%7f' % num1)
print('num1 =%11f' % num2)
输出结果为:
num1 =23.200000
num1 = 23.200000
若同时设置了宽度和精度,则数字的长度为:精度+小数点占的一位+整数部分所占的长度。如果所规定的宽度范围小于数字的长度则会正常输出,小数点后的长度为精度设置的范围。
如果所规定的宽度范围大于数字的长度,则会在数字的前面添加相应的空格。
num2 = 433.432
print('数字433.432宽度限制5,小数精度2,结果是:%5.2f' % num2)
print('数字433.432宽度限制7,小数精度2,结果是:%7.2f' % num2)
输出结果为:
数字433.432宽度限制5,小数精度2,结果是:433.43
数字433.432宽度限制7,小数精度2,结果是: 433.43
在正常的使用范围中,大部分使用的都是精度。在进行格式化时会进行四舍五入。
num2 = 433.437
print('数字433.437宽度不限制,小数精度2,结果是:%.2f' % num2)
print('数字433.437宽度不限制,小数精度5,结果是:%.5f' % num2)
输出结果为:
数字433.437宽度不限制,小数精度2,结果是:433.44
数字433.437宽度不限制,小数精度5,结果是:433.43700
f:在使用中可以包含多种类型的数据。
使用方法:f'String{变量}'
mz = '盛华'
year = 33
maney = 3422.34lst = [mz,year,maney]
print(f'姓名:{mz},年龄:{year},余额:{maney}')print(f'所出现的占位符{lst}')
结果为:
姓名:盛华,年龄:33,余额:3422.34
所出现的占位符[盛华,33,3422.34]
也可以使用另一种输出方法:
mz = '盛华'
year = 33
maney = 3422.34
s = f'姓名:{mz},年龄:{year},余额:{maney}'print(s)
输出结果为:
姓名:盛华,年龄:33,余额:3422.34
同时,在进行占位时可以直接进行数学运算。
a = 24
print(f'加{a+3},减{a-4},乘{a*4},除{a/6}')
结果为:
加27,减20,乘96,除4.0
format有着两种使用方法。
使用变量进行拼接,也可以使用值(数据内容)进行拼接。
name = '技术'
age = 32
gender = '男'
print('姓名:{},年龄:{},性别:{},现居:{},对错:{}'.format(name,age,gender,'太阳',True))
结果为:
姓名:技术,年龄:32,性别:男,现居:太阳,对错:True
使用下标进行拼接,format()中的下标从0开始。使用这个方法时要注意{}中的数字要一一对应()中的下标。
name = '技术'
age = 32
gender = '男'
print('姓名:{1},年龄:{2},性别:{3},现居:{0}'.format('太清宫',gender,name,age))
结果为:
姓名:男,年龄:技术,性别:32,现居:太清宫
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。