在python中,我们使用格式化输出,可以用这两种方式。一种是占位符格式化输出,另外一个种是format()格式化输出。
占位符格式化输出,之前已经记录过,这次就单独贴代码,不作演示了。
name = input("请输入你的姓名:")
age = int(input("请输入你的年龄:"))#把age转化为整型
sex = input("请输入你的性别:")
# %占位符 s 数据类型为字符串 d 数字
msg = '你的名字是%s,你的年龄是%d,你的性别是%s'%(name,age,sex)
msg2 = '你的名字是%(name)s,你的年龄是%(age)d,你的性别是%(sex)s'%{'name':name,'age':age,'sex':sex} #字典
print(msg)
print(msg2)
msg 和msg2的不同之处在于:msg中%(name,age,sex)需要一一对应,而msg2不需要与前面的一一对应;只需要键值对相对应就可以了,位置可以调转;最后两个输出的结果都是一样的。
“{}”是format()格式化输出的前提条件,一般有三种方式:
- 第一种:直接字符串里面定义"{}",之后根据顺序输出。
- 第二种:在{}里面添加索引,比如{0},{1}等等,按索引位置调整输出内容
- 第三种:在{}里面添加标识变量,比如{name} ,在输出的时候,为取赋值。
输出方式都是 字符串.format(参数1,参数2,...参数n)。
我写这三种方式在前面,是怕自己忘记之后,过来看一下笔记,能够不看下面的具体代码内容回想起来。
format()格式化输出三种方式:
- 第一种格式化输出:str.format("参数")
s = '我叫{},今年是{},性别{}'
s1 = s.format('zh','56','男')
print(s1) #我叫zh,今年是56,性别男
s2 = '我叫{},今年是{},性别{}'.format('us','50','女')
print(s2) #我叫us,今年是50,性别女
运行结果:
- 第二种格式化输出,添加索引重复使用
s1 = '我叫{0},今年{1},性别{2},我还是叫{0}'
print(s1.format('张三','28','男')) #我叫张三,今年28,性别男,我还是叫张三
运行结果:
第三种:按关键字查找
str = '我叫{name},今年{age},性别{sex}'.format(age = 25,name = '张三',sex = '男')
print(str) #我叫张三,今年25,性别男 这样就可以不按照顺序来。
运行结果:
总结:格式化输出两种形式,还是喜欢format()这种方式。不必考虑s代表字符串,d代表整型,%需要两个“%”才能真正的表示百分号。而且format()第三种,按关键字查找,能够让人更加一目了然。