好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

格式化输出的三种方式

python3.6后支持3种格式化输出方式,其中前两种为%-formatting及str.format ,第三种即为 f-string。

1.%-formatting

据传该格式化方法源于C..

>>>username = input("请输入用户名:")
>>>pwd = input("请输入密码:")
>>>print("用户名为:%s,密码为:%s" %(username, pwd))
用户名为:张三,密码为:123456

%后字符含义:

%s:str,字符类型,用str()方法处理对象 %d(i):decimal,十进制数 %x: hex, 十六进制数 %f: float,浮点数 %r:类似于%s类型,用rper()方法处理对象,此外用%r打印时能够重现它所代表的对象 (拓展:Difference between __str__ and __repr__)

指定长度:

 %5d:右对齐,不足左边补空格  %-5d:- 代表左对齐,不足右边默认补空格  %05d:右对齐,不足左边补0      

 浮点数:

%f: 默认是输出6位有效数据, 会进行四舍五入 %.8f:指定小数点位数的输出,保留小数点后8位 %4.8f:4代表整个浮点数的长度,包括小数,只有当字符串的长度大于4位才起作用

2.str.format

例:格式化输出

------------ info of XXX ------------ Name : XXX Age : 25 job : XXXX Hobby: XXXXX ------------------ end ----------------

2.1不带编号

name = "XXX" age = 25 job = "XXXX" hobby = "XXXXX" print(""" ------------ info of {} ------------ Name : {} Age : {} job : {} Hobby: {} ------------------ end ------------------ """.format(name, name, age, job, hobby))

2.2带编号

name = "XXX" age = 25 job = "XXXX" hobby = "XXXXX" print(""" ------------ info of {0} ------------ Name : {0} Age : {1} job : {2} Hobby: {3} ------------------ end ------------------ """.format(name, age, job, hobby))

2.3带关键字

print(""" ------------ info of {name} ------------ Name : {name} Age : {age} job : {job} Hobby: {hobby} ------------------ end ------------------ """.format(name="XXX", age=25, job="XXXX", hobby="XXXXX"))

*2.4传入列表(元组)

list = ["XXX", 25, "XXXX", "XXXXX"] print(""" ------------ info of {0} ------------ Name : {0} Age : {1} job : {2} Hobby: {3} ------------------ end ------------------ """.format(*list))

*2.5传入字典

dic = {"name": "XXX", "age": 25, "job": "XXXX", "hobby": "XXXXX"} print(""" ------------ info of {name} ------------ Name : {name} Age : {age} job : {job} Hobby: {hobby} ------------------ end ------------------ """.format(**dic))

*2.6指定长度输出

  格式{:*>n}

>:右对齐 <:左对齐 ^:中间对齐 n:指定的长度
print("左对齐是:{0:*<5},\n右对齐是:{1:*>5},\n居中的是:{2:*^5}".format("左", "右", "中"))

输出:

左对齐是:左****, 右对齐是:****右, 居中的是:**中**

3.f-string(python解释器3.6版本后可用)

>>>name = "zhangsan"
>>>age = 25
>>>print(f"我的名字是{name},年龄是{age}")
我的名字是zhangsan,年龄是25

查看更多关于格式化输出的三种方式的详细内容...

  阅读:35次