python 字符串格式化

时间:2020-03-12 00:16:40   收藏:0   阅读:67

字符串格式化

Python的字符串格式化有两种方式: 百分号方式、format方式

百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。[PEP-3101]

 

1、百分号方式

%[name]

%[(name)][flags][width].[precision]typecode

 

%[(name)][flages][width].[precision]typecode

 

注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式

常用格式化:

技术分享图片
 1 tpl = "i am %s" % "alex"
 2  
 3 tpl = "i am %s age %d" % ("alex", 18)
 4  
 5 tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}
 6  
 7 tpl = "percent %.2f" % 99.97623
 8  
 9 tpl = "i am %(pp).2f" % {"pp": 123.425556, }
10  
11 tpl = "i am %.2f %%" % {"pp": 123.425556, }
View Code

2、Format方式

[[fill]align][sign][#][0][width][,][.precision][type]

 常用格式化:

技术分享图片
 1 tpl = "i am {}, age {}, {}".format("seven", 18, alex)
 2   
 3 tpl = "i am {}, age {}, {}".format(*["seven", 18, alex])
 4   
 5 tpl = "i am {0}, age {1}, really {0}".format("seven", 18)
 6   
 7 tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18])
 8   
 9 tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
10   
11 tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
12   
13 tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
14   
15 tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
16   
17 tpl = "i am {:s}, age {:d}".format(*["seven", 18])
18   
19 tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18)
20   
21 tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
22  
23 tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
24  
25 tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
26  
27 tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
28  
29 tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)
View Code

 

 

 

 

 

原文:https://www.cnblogs.com/sunshine-long/p/12466465.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!