%占位符,%s - 字符串,%d或%i - 数字
1.一一对应
msg = "我叫%s,我喜欢%s,讨厌%s" % ("大壮","游泳","落后") #()里是具体内容
print(msg)
name = "小黑"
hobbie = "游泳"
dishobby = "落后"
msg = "我叫%s,我喜欢%s,讨厌%s" % (name,hobbie,dishobby) #()里是变量名,注:变量要先声明才能引用
print(msg)
# 用字典
print('hello %(first)s and %(second)s'%{'first':'df' , 'second':'another df'})
2.format
第一种用法:{}相当于%s
msg = '我叫{}今年{}性别{}'.format('大壮',25,'男') # 要一一对应
print(msg)
第二种用法:按索引格式化
msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('大壮', 25,'男') # 要一一对应,但最后一个不用写
print(msg)
第三种用法:关键字格式化 #指名道姓去填充
注: .format()的括号里给每对关键字的顺序可以打乱
a = 100
msg = '我叫{name}今年{age}性别{sex}'.format(age=a,sex='男',name='大壮') # 可乱序
print(msg)
3.用f ,{}里只能是变量名;一一对应; python3.6版本以上才能使用
name = "小黑"
hobbie = "游泳"
dishobby = "落后"
msg = f"我叫{name},我喜欢{hobbie},讨厌{dishobby}"
print(msg)