print格式化输出,以及使用format控制

Posted 丘木木

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了print格式化输出,以及使用format控制相关的知识,希望对你有一定的参考价值。

转载自:https://www.cnblogs.com/vito-lee/p/11936125.html

字符串的格式化方法分为两种,分别为占位符(%)和format方式。占位符方式在Python2.x中用的比较广泛,随着Python3.x的使用越来越广,format方式使用的更加广泛。

占位符(%)

格式化字符含义
%s字符串
%d有符号十进制整数,%0.6d 表示输出的整数显示位数,不足的地方使用0补全
%f浮点数,%0.2f 表示小数点后只显示两位
%%输出% (bug点)
name = "小明"
print("我的名字叫 %s, 请多多关照!" % name)
student_no = 193
print("我的学号是 %06d" % student_no)
price = 8.5
weight = 7.5
money = price * weight
print("苹果单价 %.02f 元/斤,购买 %.02f 斤,需要支付 %.02f 元" % (price, weight, money))
scale = 0.25
print("数据比例是 %.02f%%" %(scale * 100))

输出:

我的名字叫 小明, 请多多关照!
我的学号是 000193
苹果单价 8.50 元/斤,购买 7.50 斤,需要支付 63.75 元
数据比例是 25.00%

format方法

print('1,0,1'.format('TaoXiao',18))  # 通过位置传递,相当方便,可以重复,可以换位置。
print('name: age'.format(age=24,name='TaoXiao'))   # 通过关键字传递。
a = ('baidu', 'com')
print("0[0].0[1]".format(a))	#传递元组索引传递

输出:

18,TaoXiao,18
TaoXiao: 24
baidu.com

可见:
format()中,以’,'分隔多个参数,0代表第一个参数,1代表第二个参数
print('1,0,1'.format('TaoXiao',18))
输出:18,TaoXiao,18

参数可以是判断语句,()可以把多个参数变成一个,比如:
print('0 at 1'.format( 'Pressed' if pressed else 'Released' , (x, y) ) )
'Pressed' if pressed else 'Released'是第一个参数,意思是如果pressed为True,则参数值为’Pressed’,否则为 ‘Released’
(x, y)是第二个参数

以上是关于print格式化输出,以及使用format控制的主要内容,如果未能解决你的问题,请参考以下文章

Python 格式化输出_String Formatting_控制小数点位数

学习python的第七天(格式化输出,基本运算符,流程控制主if)

输出格式化:str.format() 的基本使用

编程53--python学习27使用format格式化字符串的过程中,输出大括号问题解决

Linux_069_awk格式化输出

格式化输出