加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

格式化输出的三种方式

发布时间:2020-12-20 10:40:19 所属栏目:Python 来源:网络整理
导读:python3.6后支持3种格式化输出方式,其中前两种为%-formatting及str.format ,第三种即为?f-string。 1.%-formatting 据传该格式化方法源于C.. username = input( " 请输入用户名: " ) pwd = input( " 请输入密码: " ) print ( " 用户名为:%s,密码为:%s " %

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,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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读