Python入门7 -数据的格式化输出
什么是格式化输出呢,简单来讲就是把程序的数据按照你想要的方式输出出来。
格式化输出目前有两种方法:
- %用法
- format用法
接下来我们分别说下两个用法
一、% 用法
使用以%
开头的占位符对各种类型的数据进行格式化输出,具体请看下表。
%c | 格式化字符及其ASCII码 |
---|---|
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | 根据值的大小决定使用%f活%e |
%G | 作用同%g,根据值的大小决定使用%f活%e |
%p | 用十六进制数格式化变量的地址 |
接下来我们了解几个常用的:
- %s 格式化字符串:
abc = "python"
print("abc=%s!" % abc)
# %s打印时结果是python
print("abc=%3s!" % abc)
# %3s意思是字符串长度为3,当原字符串的长度超过3时,按原长度打印,所以%3s的打印结果还是hello
print("abc=%8s!" % abc)
# %8s意思是字符串长度为8,当原字符串的长度小于8时,在原字符串左侧补空格,所以%8s的打印结果是 python!
print("abc=%-8s!" % abc)
# %-8s意思是字符串长度为8,当原字符串的长度小于8时,在原字符串右侧补空格,# 所以%-8s的打印结果是python !
print("abc=%.3s!" % abc)
# %.3s意思是截取字符串的前3个字符,所以%.3s的打印结果是pyt!
- %d 格式化整型
student_id = 18
# %d打印时结果是18
print("student_id=%d" % student_id)
# %1d意思是打印结果为1位整数,当整数的位数超过1位时,按整数原值打印,所以%1d的打印结果还是18
print("student_id=%1d" % student_id)
# %3d意思是打印结果为3位整数,当整数的位数不够3位时,在整数左侧补空格,所以%3d的打印结果是 18
print("student_id=%3d" % student_id)
# %-3d意思是打印结果为3位整数,当整数的位数不够3位时,在整数右侧补空格,所以%3d的打印结果是18 !
print("student_id=%-3d!" % student_id)
# %05d意思是打印结果为5位整数,当整数的位数不够5位时,在整数左侧补0,所以%05d的打印结果是00018
print("student_id=%05d" % student_id)
# %.3d小数点后面的3意思是打印结果为3位整数,当整数的位数不够3位时,在整数左侧补0,所以%.3d的打印结果是018
print("student_id=%.3d" % student_id)
- %f 格式化浮点数
注:% a. bf,a表示浮点数的打印长度,b表示浮点数小数点后面的精度
pi=3.1415926
# 只是%f时表示原值,默认是小数点后5位数 打印结果为pi=3.141593
print('pi=%f' % pi)
# # 只是%9f时,表示打印长度9位数,小数点也占一位,不够左侧补空格 打印结果为pi= 3.141593
print('pi=%9f' % pi)
# .没有后面的数字时,表示去掉小数输出整数,03表示不够3位数左侧补0 打印结果为pi=003
print('pi=%03.f' % pi)
# %06.3f表示小数点后面精确到3位,总长度6位数,包括小数点,不够左侧补0 打印结果为pi=03.142
print('pi=%06.3f' % pi)
当然我们也可以这样用(都有%s 不太建议):
name='张三'
print('大家好,我的名字是 %s ' %name)
age=18
print('大家好,我今年 %s 岁了' %age)
weight=80.6
print('大家好,我的体重是 %s KG'%weight)
输出的结果依然是:
大家好,我的名字是张三
大家好,我今年18岁了
大家好,我的体重是80.6KG
大家用的比较多的就是这三个。其他的了解一下。
二、format 用法
接下来我们说下format用法:format函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
print('{} {}'.format('hello','world')) # 不带字段
print('{0} {1}'.format('hello','world')) # 带数字编号
print('{1} {1} {0}'.format('hello','world')) # 打乱顺序
print('我的名字是{name},今年{age}岁了 '.format(name='川普',age=68)) # 带关键字
打印结果:
hello world
hello world
world world hello
我的名字是川普,今年68岁了
format的用法变形
# f"xxxx"
# 可在字符串前加f以达到格式化的目的,在{}里加入对象,此为format的另一种形式:
name='川普'
age=68
print(f'我的名字是{name},今年{age}岁了')
打印结果:
我的名字是川普,今年68岁了
好了,今天就到这里 大家记得一键三连哦 我会持续更新学习的内容的。。。!!! 也希望大佬们斧正。。