python格式化输出

目录

一、通过%的形式

1、%s 将数据以字符串的形式拼接

2、%d 将数据以整数的形式进行拼接

宽度限制

3、%f 将数据以浮点型的形式进行拼接 

宽度和精度

精度

二、通过f的形式

三、format方法

第一种方法

第二种方法


格式化输出的三种方式:%、f和str.format

一、通过%的形式

通过占位符进行进行拼接,常用的拼接方式有三种分别是:%s、%d和%f。

1、%s 将数据以字符串的形式拼接

使用%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'>

2、%d 将数据以整数的形式进行拼接

在使用%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

3、%f 将数据以浮点型的形式进行拼接 

使用%f,可以规定宽度和精度。如:%m.n,m表示宽度,n表示精度。

若不进行限制,整数部分会原样进行输出,小数部分若是长度小于6,则会自动添加0,若是小数部分大于6,则六位数之后的数字不在进行输出。

num1 = 23.2
num2 = 433.4322345

print('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:在使用中可以包含多种类型的数据。

使用方法:f'String{变量}'

mz = '盛华'
year = 33
maney = 3422.34

lst = [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方法

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,现居:太清宫

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值