内置函数:format

格式化输出:

#按默认位置传入
s = 'name = {},age = {},hight = {},form = {}'.format('aike','18','183','江西吉安')
print(s)
#format的表现形式为元组,可以以索引进行传参
name = input('请输入你的姓名:').strip()
age = input('请输入你的年龄:').strip()
hight = input('请输入你的身高:').strip()
form = input('请输入你的籍贯:').strip()
print('姓名{0},年龄{1},身高{2},籍贯{3},再说一遍,我叫{0}'.format(name,age,hight,form))
#表现形式既然为元组,那么就能以元素进行传参,即关键字传参
print('姓名{name},年龄{age},身高{hight},籍贯{form},再说一遍,我叫{name}'.format(name = 'aike',age = '18',hight = '183',form = '江西吉安'))

如果参数format_spec未提供,则和调用str(value)效果相同,转换成字符串格式化:
l = format(123)
print(l,type(l)) #123 <class 'str'>
print(str(123),type(str(123)))#123 <class 'str'>

对于不同的类型,参数format_spec可提供的值都不一样
#字符串可以提供的参数,指定对齐方式,<是左对齐, >是右对齐,^是居中对齐
print(format('test', '<20'))
print(format('test', '>20'))
print(format('test', '^20'))

#整形数值可以提供的参数有 'b' 'c' 'd' 'o' 'x' 'X' 'n' None
>>> format(3,'b') #转换成二进制
'11'
>>> format(97,'c') #转换unicode成字符
'a'
>>> format(11,'d') #转换成10进制
'11'
>>> format(11,'o') #转换成8进制
'13'
>>> format(11,'x') #转换成16进制 小写字母表示
'b'
>>> format(11,'X') #转换成16进制 大写字母表示
'B'
>>> format(11,'n') #和d一样
'11'
>>> format(11) #默认和d一样
'11'
#浮点数可以提供的参数有 'e' 'E' 'f' 'F' 'g' 'G' 'n' '%' None
>>> format(314159267,'e') #科学计数法,默认保留6位小数
'3.141593e+08'
>>> format(314159267,'0.2e') #科学计数法,指定保留2位小数
'3.14e+08'
>>> format(314159267,'0.2E') #科学计数法,指定保留2位小数,采用大写E表示
'3.14E+08'
format(314159267,'f') #小数点计数法,默认保留6位小数
'314159267.000000'
format(3.14159267000,'f') #小数点计数法,默认保留6位小数
'3.141593'
format(3.14159267000,'0.8f') #小数点计数法,指定保留8位小数
'3.14159267'
format(3.14159267000,'0.10f') #小数点计数法,指定保留10位小数
'3.1415926700'
format(3.14e+1000000,'F')  #小数点计数法,无穷大转换成大小字母
'INF'
#g的格式化比较特殊,假设p为格式中指定的保留小数位数,先尝试采用科学计数法格式化,得到幂指数exp,如果-4<=exp<p,则采用小数计数法,并保留p-1-exp位小数,否则按小数计数法计数,并按p-1保留小数位数
format(0.00003141566,'.1g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留0位小数点
'3e-05'
format(0.00003141566,'.2g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留1位小数点
'3.1e-05'
format(0.00003141566,'.3g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留2位小数点
'3.14e-05'
format(0.00003141566,'.3G') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留0位小数点,E使用大写
'3.14E-05'
format(3.1415926777,'.1g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留0位小数点
'3'
format(3.1415926777,'.2g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留1位小数点
'3.1'
format(3.1415926777,'.3g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留2位小数点
'3.14'
format(0.00003141566,'.1n') #和g相同
'3e-05'
format(0.00003141566,'.3n') #和g相同
'3.14e-05'
format(0.00003141566) #和g相同
'3.141566e-05'
 
原文地址:https://www.cnblogs.com/aizhinong/p/11406363.html