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
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did171611