# -*- coding: utf-8 -*-#python 27#xiaodeng#str.format格式化用法(通过{}来替代%)'''>>> help(format)Help on built-in function format in module __builtin__:format(...) format(value[, format_spec]) -> string Returns value.__format__(format_spec) format_spec defaults to ""'''#1、通过位置:#字符串的format函数可以接受不限个参数,位置可以不按顺序。print 'name:{0},age:{1}'.format('xiaodeng',28)#name:xiaodeng,age:28print '{},{}'.format('xiaodeng',28)#xiaodeng,28#print '{},{},{}'.format('xiaodeng',28)'''Traceback (most recent call last): File "C:\Users\Administrator\Desktop\新浪API\test.py", line 20, inprint '{},{},{}'.format('xiaodeng',28)IndexError: tuple index out of range'''#修改之:print '{1},{1},{0}'.format('xiaodeng',28)#28,28,xiaodeng#2、通过关键字参数:print '{name},{age}'.format(age=20,name='xiaodeng')#xiaodeng,20#3、通过对象属性:class Person(): def __init__(self,name,age): self.name=name self.age=age def __str__(self): return 'my name is {self.name},age is {self.age} years old'.format(self=self)print Person('xiaodeng',28)#my name is xiaodeng,age is 28 old#4、通过下标list=['xiaodeng',28]print '{0[0]},{0[1]}'.format(list)#xiaodeng,28;这里的0是默认的???#5、填充与对齐print '{:>8}'.format('125')#>右对齐,后面带宽度, <表示左对齐,^表示居中对齐。print '{:a> 8}'.format('125')#默认空格填充,这里为a字母填充'''>>> 125aaaaa125>>> '''#6、精度和类型fprint '{:.2f}'.format(321.123)#321.12;其中.2表示长度为2的精度,f表示float类型#7、其他类型:#要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。print '{:b}'.format(17)#10001print '{:d}'.format(17)#17print '{:o}'.format(17)#21print '{:x}'.format(17)#11#用,号还能用来做金额的千位分隔符。print '{:,}'.format(1234567890)#1,234,567,890#8、指定宽度print 'My name is {0:118}'.format('xiaodeng')#My name is xiaodeng 表示左对齐,^表示居中对齐。print>