【Python】str.format
format给人的感觉比%更有优势。
1:format的内容替换大括号
1 2 3 4 5 6 7 |
>>> "The sum of 1 + 2 is {0}".format(1+2) 'The sum of 1 + 2 is 3' >>> ## 大括号中的0可以省略,采用顺序 >>> "The sum of 1 + 2 is {}".format(1+2) 'The sum of 1 + 2 is 3' >>> |
2:多个参数的例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
>>> str = "My name is {0},I'm {1} years old.".format("xxf",20) >>> print (str) My name is xxf,I'm 20 years old. >>> ## 大括号中的编号可以去掉,采用默认顺序 >>> str = "My name is {},I'm {} years old.".format("xxf",20) >>> print (str) My name is xxf,I'm 20 years old. >>> ## 当然只要format的顺序与编号顺序相同即可。 >>> str = "My name is {1},I'm {0} years old.".format(20,"xxf") >>> print (str) My name is xxf,I'm 20 years old. >>> |
3:大括号的编号可以出现多次,只要能匹配上参数即可
1 2 3 |
>>> "This {0} our class{1},It {0} a nice big {1}".format("is","room") 'This is our classroom,It is a nice big room' >>> |
4:通过标签对应参数
1 2 3 |
>>> "My name is {name},I'm {age} years old.".format(age=20,name="xxf") "My name is xxf,I'm 20 years old." >>> |
5:利用列表下标对应参数
1 2 3 4 |
>>> lt=["xxf",20] >>> "My name is {0[0]},I'm {0[1]} years old.".format(lt) "My name is xxf,I'm 20 years old." >>> |
6:格式限定:对齐、补齐
“格式限定符”,语法{:}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
## 将字符串a补充至10位,右对齐 >>> '{:>10}'.format('a') ' a' >>> ## 将字符串a,用b补充为10位,右对齐 >>> '{:b>10}'.format('a') 'bbbbbbbbba' >>> ## 将字符串a补充至10位,左对齐 >>> '{:<10}'.format('a') 'a ' >>> ## 将字符串a,用b补充为10位,左对齐 >>> '{:b<10}'.format('a') 'abbbbbbbbb' >>> ## 利用0补充至11位,字符串1居中 >>> '{:0^11}'.format('1') '00000100000' >>> |
7:浮点型,小数位
1 2 3 |
>>> '{:.2f}'.format(3.1415926) '3.14' >>> |
8:千位符
1 2 3 |
>>> '{:,}'.format(1234567890) '1,234,567,890' >>> |