在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,性别女

运行结果:

python.format Pythonformat输出_python

  • 第二种格式化输出,添加索引重复使用
s1 = '我叫{0},今年{1},性别{2},我还是叫{0}'
print(s1.format('张三','28','男')) #我叫张三,今年28,性别男,我还是叫张三

运行结果:

python.format Pythonformat输出_python_02

第三种:按关键字查找

str = '我叫{name},今年{age},性别{sex}'.format(age = 25,name = '张三',sex = '男')
print(str)  #我叫张三,今年25,性别男  这样就可以不按照顺序来。

运行结果:

python.format Pythonformat输出_python_03

总结:格式化输出两种形式,还是喜欢format()这种方式。不必考虑s代表字符串,d代表整型,%需要两个“%”才能真正的表示百分号。而且format()第三种,按关键字查找,能够让人更加一目了然。