python学习day1——输出格式化
一般在控制台中我们用print进行输出,默认情况下,使用格式为:
print(*objects, sep=' ', end='\n')
第一个参数是我们要在控制台输出的数据,可以为多个;如果是多个,需要用“,”隔开。
sep用来将多个数据隔开,默认是空格,end加在输出的末尾,默认是换行符
占位符%d、%f、%s
如何格式化输出?
例如你好XX,你的额度是YY。其中xx的变量,无法预知,这个时候就需要格式化输出,这个时候格式化就显示威力了。使用占位符%,%s代表字符串,%d代表十进制整数,%f代表浮点数。%后面还可以跟一些其他字符,这里不做介绍了。
下面用一个例子解释:
上面的例子中可以看到
在进行%f格式的时候,后面的小数为6位,这个不符合我们的预期。加入需要将1修改为001呢?
这时候我们需要用到需要对站位符的填充
可以写成如下形式
达到我们的预期。
那么下面解释:
%.2f # %.2f代表保留两位小数
%03d #%3d代表这个数的宽度为3,不够的话用0在前面补,如果数的宽度大于3,则正常输出
如果对于格式要求不是很严格,%s则比较强大,直接可以全部代替
str.format()和f-strings
python3.6直接之后,再扩展
使用str.format(),替换字段用大括号标记,可以通过引用其索引来以任何顺序引用变量。
“格式化字符串文字”,F字符串是开头有一个f的字符串文字,以及包含表达式的大括号将被其值替换。表达式在运行时进行渲染,然后使用__format__协议进行格式化
代码
#1、数据定义
name = 'aiverson'
age = 40.36
order = 1
#2、需要格式化的范式
#name的年龄是age,历史排名第order分卫
#3、格式化
print('%s的年龄是%.2f,历史排名第%03d分卫' % (name,age,order))
print('%s的年龄是%s,历史排名第%s分卫' % (name,age,order))
print(f"{name}的年龄是{age},历史排名第{order}分卫")
print("{0}的年龄是{1},历史排名第{2}分卫".format(name,age,order