Python中用format函数格式化字符串的用法
自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?
语法
它通过{}和:来代替%。
“映射”示例
有4种方式来实现值的映射
第一种:使用位置
1 >>> print(‘{0},{1}‘.format(‘abc‘,2333) ); 2 abc,2333 3 >>> 4 >>> a=‘aaa‘ 5 >>> b=‘bbb‘ 6 7 >>> print(‘a={0},b={1}‘.format(a,b)); #使用变量 8 a=aaa,b=bbb
第二种:使用关键字
1 >>> print(‘{name},{age}‘.format(age=18,name=‘zhangsan‘));#使用常量 2 zhangsan,18 3 >>> 4 5 >>> age=25 6 >>> name=‘Jone‘ 7 >>> print(‘{name},{age}‘.format(age=age,name=name)); #使用变量的情况 8 Jone,25
第三种:使用对象属性
1 >>> class Person: 2 def __init__(self,name,age): 3 self.name = name; 4 self.age = age; 5 6 def toStr(self): 7 return ‘Name is{self.name} age was {self.age} old‘.format(self=self); 8 9 10 >>> s = Person(‘zhangsan‘,25).toStr(); 11 >>> print(‘s=%s‘%s); 12 s=Name iszhangsan age was 25 old 13 >>>
第四种:使用下标(list,元组)
1 >>> p=[‘ZhangSan‘,25] #使用list 2 >>> print(‘{0[0]},{0[1]}‘.format(p)); 3 ZhangSan,25 4 >>> 5 >>> p=(‘zhangsan‘,25,‘Beijing‘); #使用元组 6 >>> print(‘name={0[0]},age={0[1]} city={0[2]}‘.format(p)); 7 name=zhangsan,age=25 city=Beijing