Python格式化输出的几种方式

Python中三种格式化输出的方式:
比如要求用户输入用户名和年龄,然后打印如下格式:

a = "------------- info -------------"
b = "name:"
c = "age:"
d = "job:"
e = "-------------- end -------------"
name = input("name")
age = input("age")
job = input("job")
print(a + "\n" + b + name + "\n" + c + age + "\n"+ d + job + "\n" +e)

那么这样实现特别繁琐,代码不简洁,而且繁琐,那么这时候就要用到字符串的格式化输出:
第一种 利用%(称之为:占位符)格式化输出:
占位符很简单:如 %s(针对所有数据类型) %d(仅仅针对整数类型)

s = """ ------------- info -------------
name:%s
age:%s
job:%s
-------------- end -------------
"""
name = input("name:")
age = int(input("age:"))
job = input("job:")
print(s%(name,age,job))

这样就没有上面看起来那么冗余
第二种 : f-String格式化(第二种格式化输出)(3.6版本,具有向上兼容)建议使用使打印更加好看

print(f"你是谁{任意的变量,和参数}")
print(f"{alxe * 2}")#可以任意的运算
name = 'Bertram'
age = 3
print(f"hello,{name},you are {age}")
#输出:
hello,Bertram,you are 30

第三种 :利用format格式化输出format格式化(第三种格式化输出)(3.4版本,具有向上兼容),建议使用

比较简单,实用
f或者F都可以哦

name = input("请输入您的姓名:")
QQ = int(input("请输入您的qq:"))
phone = input("请输入您的电话:")
addr=input("请输入您的地址:")

print('姓名:{}  年龄:{}岁'.format(name,25))
print('QQ:{}'.format(QQ))
print('手机号:{}'.format(phone))
print('地址:{}'.format(addr))
#输出:
姓名:Bertram  年龄:25岁
QQ:123425212
手机号:010-24184241
地址:北京

name = 'Bertram'
age = 30
print("hello,{1},you are {0}".format(age,name))#索引是根据format后的数据进行的哦
#输出:
hello,Bertram,you are 30

name = '杰'
age =26
print("hello,{name},you are {age}.".format(age=age, name=name))
#输出:
hello,,you are 26.

你可能感兴趣的:(Python,python)