Python中用format函数格式化字符串的用法

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  

 

 
posted @ 2018-01-06 17:58  我是小随  阅读(779)  评论(0编辑  收藏  举报