1.%占位符,%s - 字符串,%d或%i - 数字
写在前面: 用%, 必须使占位符的数量和位置与要格式化的内容一一对应.一个萝卜一个坑.
坑: 若想用%单纯表示百分号,需再加一个%
msg = "我叫%s,我喜欢%s,讨厌%s" % ("大壮","游泳","落后") #()里是具体内容print(msg)
name = "小黑"hobbie = "游泳"dishobby = "落后"msg = "我叫%s,我喜欢%s,讨厌%s" % (name,hobbie,dishobby) #()里是变量名,注:变量要先声明才能引用print(msg)
个人名片的例子
# name = input("请输入姓名: ")# age = input("请输入年龄: ")# hobbie = input("请输入爱好: ")# msg = """--------------------info of %s--------------------# Name : %s# Age : %s# Hobby : %s# -----------------------end-----------------------""" % (name,name,age,hobbie)
或
msg = """--------------------info of %s--------------------Name : %sAge : %sHobby : %s-----------------------end-----------------------""" % (input("请输入姓名: "),input("请输入姓名: "),input("请输入年龄: "),input("请输入爱好: "))print(msg)#可以这么写,但不好看.
2.format
写在前面: 用format 格式化 ,也要一一对应
第一种用法:{}相当于%smsg = '我叫{}今年{}性别{}'.format('大壮',25,'男') # 要一一对应print(msg)
第二种用法:按索引格式化msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('大壮', 25,'男') # 要一一对应,但最后一个不用写print(msg)
第三种用法:关键字格式化 #指名道姓去填充注: .format()的括号里给每对关键字的顺序可以打乱a = 100msg = '我叫{name}今年{age}性别{sex}'.format(age=a,sex='男',name='大壮') # 可乱序print(msg)
3.f
写在前面:用f ,{}里只能是变量名;一一对应; python3.6版本以上才能使用
name = "小黑"hobbie = "游泳"dishobby = "落后"msg = f"我叫{name},我喜欢{hobbie},讨厌{dishobby}"print(msg)
#错误示例:msg = f"我叫{"小黑"},我喜欢{"游泳"},讨厌{"落后"}" #会报错print(msg)
个人名片的例子
name = input("请输入姓名: ")age = input("请输入年龄: ")hobbie = input("请输入爱好: ")msg = f"""--------------------info of name--------------------Name : {name} #花括号里是变量名Age : {age}Hobby : {hobbie}-----------------------end-----------------------"""print(msg)
msg = f"""--------------------info of {input("请输入姓名: ")}-------------------Name : {input("请输入姓名: ")}#大括号里直接是要格式化的内容,此处可如此,是因为input是Python的内置函数Age : {input("请输入年龄: ")}Hobby : {input("请输入爱好: ")}--------------------end-------------------"""print(msg)