Python:格式化输出

Posted 白鹭洲

tags:

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

格式化输出

方式一:(%s)

我们经常会输出类似‘亲爱的xxx你好!你xx月的话费是xx,余额是xx‘之类的字符串‘,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

在Python中,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。

如果只有一个%?,括号可以省略。Python中的 %s 方法传递的时候,也可以是看作是shell中的函数参数。

name = input(请输入名字:)
age = input(请输入年龄:)
job = input(请输入职业:)
hobbie = input(请输入爱好:)
msg = ‘‘‘------------ info of %s -----------
Name  : %s
Age   : %d
job   : %s
Hobbie: %s
------------- end -----------------
‘‘‘ % (name, name, int(age), job, hobbie)
print(msg)

 

有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%

print(我叫%s,今年%d,学习进度2%% % (李起光, 10000))

 

如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:

name = input(请输入名字:)
age = input(请输入年龄:)
job = input(请输入职业:)
hobbie = input(请输入爱好:)
msg = ‘‘‘------------ info of %s -----------
Name  : %s
Age   : %s
job   : %s
Hobbie: %s
------------- end -----------------
‘‘‘ % (name, name, int(age), job, hobbie)
print(msg)

 

方式二:(format函数)

format函数也是通过替换的方式实现格式化输出,它有三种用法如下:

用法一

与上面讲到的 %s类似,不同的之处是将%s换成了’{ }‘大括号,调用时依然需要按照顺序对应。

s = "我叫{},今年{},爱好{}"
s1= s.format(抠脚大汉, 25, ) 

 

用法二:

 通过{n}方式来指定接收参数的位置,将调用时传入的参数按照位置进行传入。相比%s可以减少参数的个数,实现了参数的复用。

s= "我叫{0},今年{1},爱好{2},我依然叫{0}"
s1= s.format(抠脚大汉, 25, ) 

 

用法三:

通过{str}方式来指定名字,调用时使用str=‘xxx‘,确定参数传入。

s = "我叫{name},今年{age},爱好{hobby}"
s1= s.format(age=25,hobby=girl,name=抠脚大汉)

 

以上是关于Python:格式化输出的主要内容,如果未能解决你的问题,请参考以下文章

Python图像resize前后颜色不一致问题

Python snippet(代码片段)

将多个输出中的hls属性设置为单独的片段代码

uvec2片段着色器输出的哪个组合

Golang PrintfSprintf Fprintf 格式化

golang的xorm如何将[]map[string][]byte 格式的数据序列化成json输出