python之字符串类型的格式化

时间:2023-03-09 03:40:42
python之字符串类型的格式化

python之字符串类型的格式化

要点:python字符串通过format()方法进行格式化处理。(Python语言同时支持两种字符串格式化方法,一种类似C语言中printf()函数的格式化方法,支持该方法主要考虑与大批C语言程序员编程习惯相一致;另一种采用专门的str.format()格式化方法。由于Python中更为接近自然语言的复杂数据类型(如列表和字典等)无法通过类C的格式化方法很好表达,Python 已经不在后续版本中改进C风格格式化方法。因此,Python 语言将主要采用format()方法进行字符串格式化。)

字符串format()方法的基础使用格式是:

<模板字符串>. format (<逗号分隔的参数>)    示例如下:

python之字符串类型的格式化

python之字符串类型的格式化

在这里我们可以看出,如果大括号中指定了使用参数的序号,按照序号对应参数也替换  *参数从0开始编号

另外,大括号{}本身也是字符串的一部分,如果需要输出{}则需要注意python之字符串类型的格式化

通俗点讲,由上示例可以看出{1}输出:1        {{{1}}}输出:{1}

format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:
{<参数序号>: <格 式控制标记>}
<,内容左对齐
>,内容右对齐(默认)
=,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
^,内容居中对齐

python之字符串类型的格式化

(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%