我们知道,可以对多个字符串进行拼接,比如使用‘字符串+字符串’或者‘字符串*整数’,那如果要求将字符串和其他类型的数据进行拼接时要怎么做呢?我们试一下直接使用‘+’将字符串和数字连接:
可以看到,运行时报错了,提示我们必须是str类型。看来必须使用别的方法。这里我们需要用到占位符。先把要打印的格式准备好,需要用户输入的信息或者变量可以先用占位符代替,然后再把字符串里的占位符与外部的变量做映射
1、使用%,具体如下:
# %s表示字符占位符,%d是int型占位符,%f是浮点数占位符
name = 'Lily'
age = 23
grade = 15.4
print('我的名字是%s, 今年%d岁,我的成绩是%.1f' %(name,age,grade))
运行结果为:
2、使用format
第一种用法:通过索引引用
'''
format的用法如下:
1、先准备好要输出的格式,把需要用变量替代的内容用{}代替
2、在准备好的字符串后使用format函数,将要用到的变量依次写在format函数的入参中
3、根据需要,在准备好的字符串的{}中写入引用的变量在format函数中的顺序(从左到右,从0开始)
'''
name = 'Lily'
age = 23
grade = 15.45
print('我的名字是{0}, 今年{1}岁,我的成绩是{2:.1f},我的名字依然是{0}'.format(name, age, grade)) # 变量可以重复引用
运行结果为:
第二种用法:通过变量名引用
name1 = 'Lily'
age1 = 23
grade1 = 15.45
print('我的名字是{name}, 今年{age}岁,我的成绩是{grade},我的名字依然{name}'.format(name=name1, age=age1, grade=grade1))
输出结果为: