字符串格式化和format

Posted chency2018

tags:

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

msg=i am %s my hobby is %s % (lhf,alex)
print("传入的元素按照一一对应来填充:",msg)
"传入的元素按照一一对应来填充:",
#%s可以传入各种数值,但是为了方便确认类型一般不允许。省事最后痛苦的是自己
msg=i am %s my hobby is %s % (lhf,1)
msg=i am %s my hobby is %s % (lhf,[1,2])
print("传入的元素按照一一对应来填充:",msg)
name=lhf
age=19
msg=i am %s my hobby is %s % (name,age)
print("传入的元素按照一一对应来填充:",msg)

#打印浮点数
tpl = "percent %.2f" % 99.976234444444444444
print("%.2f表示保留2位小数:",tpl)

#打印百分比
tpl = percent %.2f %% % 99.976234444444444444  #其中%.2f %%的2表示保留2位小数,%%代表输出时一个百分号
print("其中%.2f %%的2表示保留2位小数,%%代表输出时一个百分号",tpl)

tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}
print("通过字典的键值对来传值:",tpl)
#%(name)+60s中name时字典的键值,+60是右对齐60宽度,-是左对齐
msg=i am %(name)+60s my hobby is alex %{name:lhf}
print("%(name)+60s中name时字典的键值,+60是右对齐60宽度,-是左对齐",msg)
# \033[43;1m%(name)+60s\033[0m更改占用宽度的颜色
msg=i am \033[43;1m%(name)+60s\033[0m my hobby is alex %{name:lhf}
print("\033[43;1m%(name)+60s\033[0m更改占用宽度的颜色",msg)
"",
# sep=‘:‘使每个字符串用:连接
print(root,x,0,0,sep=:)
# print(‘root‘+‘:‘+‘x‘+‘:‘+‘0‘,‘0‘)

以上实例的结果

传入的元素按照一一对应来填充: i am lhf my hobby is alex
传入的元素按照一一对应来填充: i am lhf my hobby is [1, 2]
传入的元素按照一一对应来填充: i am lhf my hobby is 19
%.2f表示保留2位小数: percent 99.98
其中%.2f %%的2表示保留2位小数,%%代表输出时一个百分号 percent 99.98 %
通过字典的键值对来传值: i am alex age 18
%(name)+60s中name时字典的键值,+60是右对齐60宽度,-是左对齐 i am                                                          lhf my hobby is alex
%(name)+60s更改占用宽度的颜色 i am                                                          lhf my hobby is alex
root:x:0:0

formet的一些用法

# tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
#
# tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) #**代表传入的是字典,*传入的是列表

# tpl = "i am {:s}, age {:d}".format(*["seven", 18])
# tpl = "i am {:s}, age {:d}".format("seven", 18) #["seven", 18]
#
# l=["seven", 18]
# tpl = "i am {:s}, age {:d}".format(‘seven‘,18) #:s只能传入字符串,{:d}传入数值
# print(tpl)
#{:%}传入的是值加百分号小数后保留6位,自身乘以100,即小数点左移动2位
# {:b},{:o},{:d},{:x},{:X},分别代表二进制,八进制,十进制,小写十六进制字母,大写十六进制字母
tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%},{}".format(15, 15, 15, 15, 15, 15.87623, 2)
print(tpl)

以上是关于字符串格式化和format的主要内容,如果未能解决你的问题,请参考以下文章

Python 中格式化字符串 % 和 format 两种方法之间的区别

Python之路--Python中应该使用%还是format来格式化字符串?

Python中应该使用%还是format来格式化字符串?

string.format()的用法?

使用 NumberFormat 格式化数字的 FieldPosition

python 内置函数format