标签:
python的字符串格式有两种方式:百分号方式、format方式。
百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。
%[(name)][flags][width].[precision]typecode
注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式
用法实例:
1 #1.最基本格式 2 tp1 = ‘i am %s‘ %‘wang‘ 3 print tp1 4 tp2 = ‘i am %s age %d‘ %(‘wang‘,18) #%s是字符串,%d是数字 5 #2.name的用法,既可以对占位符进行命名,后边用字典方式 6 print tp2 7 tp3 = ‘i am %(name)s age %(age)d‘ %{‘name‘:‘wang‘,‘age‘:18}#可以给占位符命名,这样是字典模式。 8 print tp3 9 #3.flags和width的用法,对齐方式 10 #+方式,右对齐 11 tp4 = ‘i am %(n1)s age %(n2) 10d‘ %{‘n1‘:‘alex‘,‘n2‘:-18}#d前面的10是这个占位符整体占的 12 print tp4 13 #i am alex age -18 #占位10个字符,同时右对齐 14 tp5 = ‘i am %(n1)s age %(n2) -10d‘ %{‘n1‘:‘alex‘,‘n2‘:-18}#d前面的10是这个占位符整体占的 15 print tp5 16 #i am alex age -18 #占位10个字符,同时右对齐 17 tp6 = ‘i am %(n1)s age %(n2) 10d‘ %{‘n1‘:‘alex‘,‘n2‘:-18}#d前面的10是这个占位符整体占的 18 print tp6 19 #i am alex age -18 #占位10个字符,同时右对齐 20 tp7 = ‘i am %(n1)s age %(n2) 010d‘ %{‘n1‘:‘alex‘,‘n2‘:-18}#d前面的10是这个占位符整体占的 21 print tp7 22 #i am alex age -000000018 #占位10个字符,同时右对齐,同实以0来填充,注意只能是数字才能填充,字符串不生效 23 #.[precision]的用法,请注意其中的那个. 24 tp8 = "percent %.2f" % 99.97623 25 print tp8 26 #percent 99.98,小数点后保留2位 27 tp9 = "i am %(pp).4f" % {"pp": 123.4, } 28 print tp9 29 #i am 123.4000,小数点后保留4位,如果不够用0补齐。 30 tp10 = "i am %(pp).2f %%" % {"pp": 123.425556, } 31 print tp10 32 tp11 = "i am 10 %" 33 print tp11 34 #i am 123.43 %,小数点后保留两位,如过在使用占位符的情况下用%,请注意用双%
[[fill]align][sign][#][0][width][,][.precision][type]
用法实例:
1 #基本格式 2 tp1 = "i am {}, age {}, {}".format("seven", 18, ‘alex‘) 3 print tp1 4 #如果没填序号,默认按照元祖的index顺序一直往后排 5 tp2 = "i am {}, age {}, {}".format(*["seven", 18, ‘alex‘]) 6 print tp2 7 #如果没有忘记的,前面加*是让列表不被当成一个元素。 8 tp3 = "i am {}, age {}, {}".format(["seven", 18, ‘alex‘]) 9 print tp3 10 #如果没有忘记的,前面加*是让列表不被当成一个元素。如果当成了一个元素,请注意index的使用,是0 11 tp4 = "i am {0}, age {0}, {0}".format(["seven", 18, ‘alex‘]) 12 print tp4 13 14 tp5 = "i am {0}, age {1}, really {0}".format("seven", 18) 15 print tp5 16 #可以指定index来指定位置。 17 tp6 = "i am {0}, age {1}, really {0}".format(*["seven", 18]) 18 print tp6 19 #可以指定index来指定位置。如果这么用请注意*号和索引大小 20 21 tp7 = "i am {name}, age {age}, really {name}".format(name="seven", age=18) 22 print tp7 23 #可以通过key来指定具体值, 24 tp8 = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) 25 print tp8 26 #可以指定key来指定具体值,请注意使用* 和key是否存在 27 tp9 = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1,2,3],[11,22,33]) 28 print tp9 29 #具体元素值是列表的情况 30 tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1) 31 32 tpl = "i am {:s}, age {:d}".format(*["seven", 18]) 33 34 tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18) 35 36 tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18}) 37 38 tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2) 39 40 tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2) 41 42 tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15) 43 44 tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)
更多格式化操作:https://docs.python.org/3/library/string.html
参考博客:http://www.cnblogs.com/wupeiqi/articles/5484747.html
标签:
原文地址:http://www.cnblogs.com/chushiyaoyue/p/5359771.html