字符串格式化和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)
posted @ 2018-04-12 19:42  重铸根基  阅读(924)  评论(0编辑  收藏  举报