Python之format详解
- 2019-01-08 15:25:00
- 六月
- 来源:
- http://www.runoob.com/python/python-numbers.html
- 转贴 1149
1.通过位置 'a1 = {} a2= {} a3= {}'.format('first','second','third') #{}不带参数 'a1 = first a2= second a3= third' 'a1 = {1} a2= {0} a3= {2}'.format('first','second','third') #{}带位置参数的 'a1 = second a2= first a3= third'注意如果{}要带参数,可以将format看成一个函数输入的值是函数的参数,这些输入的值可以看成一个元组,{0} == tuple[0] 同样他们也不能越界 2.通过关键字参数 'your name is {name} , age is {age}'.format(name='jack',age=87) 'your name is jack , age is 87' 'your name is {name} , age is {age}'.format(age=87,name='jack') #同样和位置无关 'your name is jack , age is 87' 3.通过对象属性 class Person: def __init__(self,name,age): self.name = name self.age = age p = Person('Tom',18) 'name = {p.name} age = {p.age}'.format(p=p) 'name = Tom age = 18' 4.通过下标 s1 = [1,'23','tom'] s2 = ['s2.1','s2.2','s2.3']'{0[1]} {0[2]} {1[2]} {1[0]}'.format(s1,s2) '23 tom s2.3 s2.1' 5.格式化输出(重点) 格式限定符 语法是{}中带:号) {:对齐方式 填充} 填充与对齐 填充常跟对齐一起使用 ^、<、>分别是居中、左对齐、右对齐,后面带宽度 :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充 5.1对齐与填充 '输出左对齐定长为10位 [{:<10}]'.format('12') #默认填充空格的 '输出左对齐定长为10位 [12 ]' '输出右对齐定长为10位 [{:>10}]'.format('12') #默认填充空格的 '输出右对齐定长为10位 [ 12]' '输出右对齐定长为10位 [{:0>10}]'.format('12') #修改填充,填充只能是一个ASCII字符 '输出右对齐定长为10位 [0000000012]' '输出居中对齐定长为10位,填充x [{:x^10}]'.format('12') #修改填充,填充只能是一个ASCII字符 '输出居中对齐定长为10位,填充x [xxxx12xxxx]' 5.2浮点小数输出 '{:.2f}'.format(1233442.23453) #通常都是配合 f 使用,其中.2表示长度为2的精度,f表示float类型 '1233442.23' '{:,}'.format(9987733498273.0432) #使用逗号金额分割符 '9,987,733,498,273.043' 5.3进制及其他显示 b : 二进制 d :十进制 o :八进制 x :十六进制 !s :将对象格式化转换成字符串 !a :将对象格式化转换成ASCII !r :将对象格式化转换成repr '10 二进制 :{:b}'.format(10) '10 二进制 :1010' '10 十进制 :{:d}'.format(10) '10 十进制 :10' '10 八进制 :{:o}'.format(10) '10 八进制 :12' '10 十六进制 :{:x}'.format(10) '10 十六进制 :a' '{!s}'.format(10) #格式化转换 '10' '{!a}'.format('1000') #格式化转换 "'1000'" '{!r}'.format('1000') #格式化转换 "'1000'" python 中str format 格式化数字补0方法 >>> "{0:03d}".format(1) '001' >>> "{0:03d}".format(10) '010' >>> "{0:03d}".format(100) '100' https://www.cnblogs.com/sthinker/p/7456034.html ====================================== python之字符串格式化(format) 用法: 它通过{}和:来代替传统%方式 1、使用位置参数 要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表 >>> li = ['hoho',18] >>> 'my name is {} ,age {}'.format('hoho',18)'my name is hoho ,age 18' >>> 'my name is {1} ,age {0}'.format(10,'hoho')'my name is hoho ,age 10' >>> 'my name is {1} ,age {0} {1}'.format(10,'hoho')'my name is hoho ,age 10 hoho' >>> 'my name is {} ,age {}'.format(*li)'my name is hoho ,age 18' 2、使用关键字参数 要点:关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可 >>> hash = {'name':'hoho','age':18} >>> 'my name is {name},age is {age}'.format(name='hoho',age=19)'my name is hoho,age is 19' >>> 'my name is {name},age is {age}'.format(**hash)'my name is hoho,age is 18' 3、填充与格式化 :[填充字符][对齐方式 <^>][宽度] >>> '{0:*>10}'.format(10) ##右对齐 '********10' >>> '{0:*<10}'.format(10) ##左对齐 '10********' >>> '{0:*^10}'.format(10) ##居中对齐 '****10****' 4、精度与进制 >>> '{0:.2f}'.format(1/3)'0.33' >>> '{0:b}'.format(10) #二进制'1010' >>> '{0:o}'.format(10) #八进制'12' >>> '{0:x}'.format(10) #16进制'a' >>> '{:,}'.format(12369132698) #千分位格式化'12,369,132,698' 5、使用索引 >>> li ['hoho', 18] >>> 'name is {0[0]} age is {0[1]}'.format(li) 'name is hoho age is 18 https://www.cnblogs.com/benric/p/4965224.html
发表评论