python之字符串类型的格式化
python之字符串类型的格式化
要点:python字符串通过format()方法进行格式化处理。(Python语言同时支持两种字符串格式化方法,一种类似C语言中printf()函数的格式化方法,支持该方法主要考虑与大批C语言程序员编程习惯相一致;另一种采用专门的str.format()格式化方法。由于Python中更为接近自然语言的复杂数据类型(如列表和字典等)无法通过类C的格式化方法很好表达,Python 已经不在后续版本中改进C风格格式化方法。因此,Python 语言将主要采用format()方法进行字符串格式化。)
字符串format()方法的基础使用格式是:
<模板字符串>. format (<逗号分隔的参数>) 示例如下:
在这里我们可以看出,如果大括号中指定了使用参数的序号,按照序号对应参数也替换 *参数从0开始编号
另外,大括号{}本身也是字符串的一部分,如果需要输出{}则需要注意
通俗点讲,由上示例可以看出{1}输出:1 {{{1}}}输出:{1}
format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:
{<参数序号>: <格 式控制标记>}
<,内容左对齐
>,内容右对齐(默认)
=,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
^,内容居中对齐
(1)num = "{0:.2f}".format(123456.789132)
print(num)
# 123456.79
(2)num = "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(42500) # {0:b}二进制格式,{0:c}Unicode编码形式,{0:d}十进制表示形式,{0:o}八进制,{0:x}十六进制, {0:X}大写的十六进制
print(num)
# 1010011000000100,ꘄ,42500,123004,a604,A604
(3)num = "{0:e},{0:E},{0:F},{0:%}".format(45.6) # {0:e}科学计数法e表示,{0:E}科学计数法E表示,{0:F}通常非科学计数法
print(num)
# 4.560000e+02,4.560000E+02,456.000000,45600.000000%