栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python格式化输出的几种方式

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

这样就没有上面看起来那么冗余

百分比

print("这部<<%(name)s>>电视剧,我已经看了85%%" % {"name": "特种兵"})
输出:
这部<<特种兵>>电视剧,我已经看了85%

注:一旦字符串格式化中出现百分比的显示,一定要加两个%%以实现输出一个%.

第二种 : 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.
format方法

位置映射

实例:

print("{}:{}".format('192.168.0.100',8888))
#192.168.0.100:8888

关键字映射

实例:

print("{server}{1}:{0}".format(8888,'192.168.1.100',server='Web Server Info :'))
#Web Server Info :192.168.1.100:8888  

元素访问


实例:

print("{0[0]}.{0[1]}".format(('baidu','com')))
#baidu.com 

填充对齐

  • ^、<、>分别是居中、左对齐、右对齐

    实例:
print("{0}*{1}={2:0>2}".format(3,2,2*3))
#3*2=06
 
print("{:*^30}".format('centered'))
#***********centered*********** 

九九乘法表

for i in range(1, 10):
    for j in range(1, 10):
        if j <= i:
            print(f'{j}*{i}={i * j}', end="t")
    print()
'''
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	
'''

精度设置

实例

print("{:.3f}".format(2.1415))
#2.142
print("{:.10f}".format(3.1415))
#3.1415000000

参考:文章1 文章2

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/833919.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号