Python格式化输出的几种汇总
目录
- python中三种格式化输出的方式
- 第一种
- 第二种
- 第三种
- format方法
- 位置映射
- 关键字映射
- 元素访问
- 填充对齐
- 精度设置
- 总结
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:%sage:%sjob:%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 = 3print(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-2418424开发者_开发学习1地址:北京name = 'Bertram'
age = 30print("hello,{1},you apythonre {0}".format(age,name))#索引是根据format后的数据进行的哦#输出:hello,Bertram,you are 30name = '杰'
age =26print("hello,{name},you are {age}.".format(age=age, name=name))#输出:hello,杰,you are 26.
format方法
位置映射
实例:
printphp("{}:{}".format('192.168.0.100',8888)) #192.168.0.100:8888
关键字映射
实例:
print("{0[0]}.{0[1]}".format(('baidu','com'))) #baidu.com
元素访问
实例:
print("{0[0]}.{0[javascript1]}".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=IYshYShSos16 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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
精彩评论