字符串格式化和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来格式化字符串?