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字符串。