前言
前文学习了Python中的运算符,针对于初学者来学习,本文来看一下Python中的格式化输出。
字符串进阶(格式化输出)
name='猪猪侠'
age=18
#print('大家好,我是'+name+'我今年'+age+'岁了') #报错,整型和字符串不能拼接
print('大家好,我是'+name+'我今年'+str(age)+'岁了') #把整型转成字符串可以正常输出,但是比较麻烦
print('大家好,我是',name,'我今年',age,'岁了')
在以后的写代码过程中,经常会涉及到字符串和其他变量在一起使用的环节,但如果变量不是纯字符串,而是int/float/其他的类型的数据,拼接在一起很容易出错
这种时候就可以使用格式化输出 会更方便的输出
格式化–>一种更方便的输出方式
1.可以让你更方便的输出带有变量的数据
2.可以让你更方便的输出一些固定格式的数据
尊敬的XX您好,您X月的账单已经发送,您使用话费共XX元
1.有标准格式
2.里面的x都可以用变量来代替
f-str
f-str(format string 全拼)
语法:在字符串前面加f,在字符串里把要输出的变量,用{}大括号包裹起来
f’xxx{变量}xxx’
print(f'大家好,我是{name},我今年{age}岁了')
print(f'大家好,我是{name},我今年{age}岁了,余额还有{8.8}元')
#大括号里的变量也是可以进行操作的,可以进行数值运算,切片,索引,步长,方法
print(f'大家好,我是{name[1]},我今年{age+10}岁了,余额还有{8.8}元')
%占位符
占位符概念–>先占个位置,后续再用具体的数据来顶上
形参:没有具体的数据,只是先占个位置–>角色
实参:有具体的数据,在运行时取代形参–>演员
语法:
‘XX%sXX’%数据
‘XX%sXX%d’%(数据1,数据2)
%s-->给字符串占位置,后续会来一个字符串
%d-->给整型占位置,后续会来一个整型
%f-->给浮点型占位置,后续会来一个浮点型(默认是6位小数)
%.1f-->带一位小数
%.2f-->带两位小数
name='猪猪侠'
age=18
print('我今年%d岁'%age)
print('我是%s,我今年%d岁'%(name,age))
print('我是%s,我今年%d岁,现在还剩%f元'%(name,age,8.8))
print('我是%s,我今年%d岁,现在还剩%.2f元'%(name,age,8.8))
print('我是%s,我今年%d岁,现在还剩%.2f元'%(name[0],age+10,8.8))
print('我是%s,我今年%d岁,现在还剩%.2f元'%(name,age,8.8))
print('我是%s,我今年%d岁,现在还剩%.2f元'%([1,2,3],age,8.8))#要传列表和元组可以用%s占位
小细节:
一个位置一个坑,少了位置和多了位置都不可以
%除了可以放变量,也可以直接放数据
放的都是已知数据类型,类型是固定死的
%s的包容性比较强,后续如果你来的数据是整型,浮点型,列表,元组,都可以接收,但是不要所有的类型都是用%s占位
%d和%f是必须来对应的数据
.format
用法跟占位符,f-str类似,他先用大括号作为占位符,在字符串后面通过.format来传递数据
语法:
‘XX{}XX’.format(数据)
‘XX{}XX{}’.format(数据,数据)
‘XX{下标}XX{下标}’.format(数据,数据)
name='猪猪侠'
age=18
print('我是{},我今年{}岁了'.format(name,age))
print('我是{},我今年{}岁了,钱包余额{},梦想是成为{}'.format(name,age,8.8,'富婆'))
#可以通过下标决定输出顺序
#下标要么全放,要么全不放 也不支持负向下标
print('我是{1},我今年{3}岁了,钱包余额{2},梦想是成为{0}'.format('富婆',name,8.8,age)) #下标不要超出,会报错
print('我是{},我今年{}岁了,钱包余额{},梦想是成为{}'.format(name[1],age,8.8+1000,'富婆'))
#在format里面,如果一个数据会反复使用,写上对应的 下标就可以了,不需要反复的数据
print('我是{0},我今年{1}岁了,钱包余额{2},梦想是成为{3},到时候分你{2}'.format(name,age,8.8,'富婆')