2.格式化输出(%和format用法)
今天在学习的过程中碰到了格式化输出,想了半天不知道是什么,重新查找了一下,发现是关于输出语句结合输出类型来使用‘%‘。
%的用法
%表示占位符,后面加入的字母是输出类型的缩写
打印字符串:
name='maday' print('我的名字是:%s'%name)
执行结果:
我的名字是:maday
打印截取字符串:
name='maday' print('我的名字是:%.2s'%name)
执行结果:
我的名字是:ma
打印字符冲突(打印百分之多少产生报错):
name='maday' print('%s的进度完成了%5'%name)
执行结果:
ValueError: incomplete format(报错)
前面使用格式化输出后,计算机把第二个百分号也认为成格式化输出符号,正确打印百分之五的方法是使用两个%%,代码如下:
print('%s的进度完成了%%5'%name)
执行结果:
maday的进度完成了%5
打印整数:
age=21 print('我的年龄是:%d'%age)
执行结果:
我的年龄是:21
打印八进制:
a=111 print('我的年龄是:%o'%a)
打印结果:
我的年龄是:157
打印十六进制:
a=111 print('我的年龄是:%x'%a)
我的年龄是:6f
打印浮点数(默认保留小数点后6位):
height=1.75 print('我的身高是%f米'%height)
执行结果:
我的身高是1.750000米
打印浮点数(指定保留小数点位数):
height=1.75 print('我的身高是%.2f米'%height)
执行结果(保留两位小数):
我的身高是1.75米
height=1.75 print('我的身高是%.3f米'%height)
执行结果(保留三位小数):
我的身高是1.750米
指数形式打印:
浮点数默认保留小数后6位
a=18906.234567 print('a的值是:%e'%a)
执行结果:
a的值是:1.890623e+04
指数形式打印(指定保留小数位数):
a=18906.234567 print('a的值是:%.2e'%a)
执行结果:
a的值是:1.89e+04
指定占位符宽度:
name='maday' height=1.75 age=21 print('我是%7s,我今年%6d岁,我的身高是%8.2f米'%(name,age,height))
执行结果:
我是 maday,我今年 21岁,我的身高是 1.75米
指定占位符宽度(左对齐):
name='maday' height=1.75 age=21 print('我是%-7s,我今年%-6d岁,我的身高是%-8.2f米'%(name,age,height))
执行结果:
我是maday ,我今年21 岁,我的身高是1.75 米
指定占位符(声明占位符使用0充填):
name='maday' height=1.75 age=21 print('我是%-7s,我今年%06d岁,我的身高是%08.2f米'%(name,age,height))
执行结果:
我是maday ,我今年000021岁,我的身高是00001.75米
-----------------------------------------------------------------------------------------------------------------------------------------------
python中还有一些其他的用法,但是不是很常用,以下表格参考:

format的3种不同用法
1. s='我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白')
s='我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白') print(s)
执行结果:
我叫太白,今年36,爱好girl,再说一下我叫太白
2. s='我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('太白',36,'girl')
s='我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('太白',36,'girl') print(s)
执行结果:
我叫太白,今年36,爱好girl,再说一下我叫太白
3. s='我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name='太白',hobby='girl')
第三中方法不需要注意顺序
s='我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name='太白',hobby='girl') print(s)
执行结果:
我叫太白,今年36,爱好girl,再说一下我叫太白

浙公网安备 33010602011771号