Python Format字符串详解
Format字符串是Python高级字符串格式化的一种方法,可以简便、优雅地进行字符串格式化。对于有经验的Python工程师来说,这是一个必须掌握的技能。在这篇文章中,我们将围绕Python Format字符串的使用方法来进行详细的阐述,并给出相应的代码示例。
一、基本用法
Format字符串的基本语法为:用一对花括号 "{}" 作为占位符,表示待格式化的部分,在字符串后使用 .format()
方法对这些占位符进行替换。下面给出一个简单的示例:
>>> print("我的身高是{},体重是{}".format("175cm", "65kg"))
我的身高是175cm,体重是65kg
在 .format()
方法中,按照顺序将待格式化的内容添加到括号内即可。可以使用任何的数据类型,包括字符串、数字、列表、元组和字典等。
>>> name = "小明"
>>> age = 20
>>> subject_scores = {"语文": 90, "数学": 80, "英语": 85}
>>> print("{0}今年{1}岁,语文成绩为{2[语文]}分。".format(name, age, subject_scores))
小明今年20岁,语文成绩为90分。
上面的代码中,数字 {}
中的数字用于指定格式化内容的位置,数字越小则越优先进行格式化。
二、格式限定符
使用Format字符串时,可以为其提供额外的格式限定符,用于格式化更复杂的数据类型,以及控制格式输出的方式。下面介绍几种常见的格式限定符。
1. 填充与对齐
在花括号内可以使用冒号 :
来指定格式化选项,其中用于左对齐、右对齐及居中的 <
、>
和 ^
分别放置在冒号后面。例如:
>>> print("左对齐:{:<10},右对齐:{:>10},居中:{:^10}".format("abc", "def", "ghi"))
左对齐:abc ,右对齐: def,居中: ghi
上述代码中,使用了 <
、>
和 ^
分别对字符串进行左对齐、右对齐及居中。
2. 数字格式化
可以使用 {:}
内置函数输出数字的格式化形式。包括八进制、十进制、十六进制、科学计数法等多种方式。
>>> num = 123
>>> print("八进制:{:o},十进制:{:d},十六进制:{:x},科学计数法:{:e}".format(num, num, num, num))
八进制:173,十进制:123,十六进制:7b,科学计数法:1.230000e+02
三、格式化字符串字面值
在Python 3.6及之后,新增了一种字符串格式化方式,即使用 f-string。可以在字符串中使用 {表达式}
的方式,动态地格式化字符串。例如:
>>> name = "小红"
>>> age = 18
>>> print(f"{name}今年{age}岁。")
小红今年18岁。
同样可以在 f-string 中使用更高级的格式化方式。
>>> num = 123
>>> print(f"八进制:{num:o},十进制:{num:d},十六进制:{num:x},科学计数法:{num:e}")
八进制:173,十进制:123,十六进制:7b,科学计数法:1.230000e+02
四、结语
Python Format字符串是Python高级字符串格式化的一个重要方法,熟练掌握这个知识会让你的代码更加清晰和简洁。本文从基本用法、格式限定符、格式化字符串字面值三个方面对其进行了详细的阐述,并且给出了相应的代码示例。相信这篇文章能够帮助你更好地了解和使用Python Format字符串。