Python字符串格式化深入解析202


Python提供了一系列丰富的字符串格式化选项,允许开发者轻松地将数据插入字符串中。这不仅提高了代码的可读性和可维护性,还为创建动态文本提供了强大的工具。

字符串格式化操作符

在Python中,字符串格式化操作符为%,它将一个表达式插入到字符串中。表达式可以是变量、常量或任意其它Python对象。

以下是如何使用%操作符进行格式化:
name = "John"
age = 30
print("My name is %s and I am %d years old." % (name, age))

输出:
My name is John and I am 30 years old.

格式化符号

格式化符号指定了如何格式化表达式的值。常见的格式化符号包括:| 格式化符号 | 用途 |
|---|---|
| %s | 字符串 |
| %d | 十进制整数 |
| %f | 浮点数 |
| %x | 十六进制整数 |
| %b | 二进制整数 |

例如:
print("My name is %s and I am %03d years old." % (name, age))

输出:
My name is John and I am 030 years old.

格式化方法

Python 3还引入了一种使用格式化方法的现代格式化方式。

要使用格式化方法,请使用.format()方法,并将要插入的值作为参数传递。表达式由大括号{}包围。

例如:
print("My name is {} and I am {} years old.".format(name, age))

输出:
My name is John and I am 30 years old.

命名格式化

命名格式化允许您使用名称而不是位置来指定要插入的值。这提高了可读性和可维护性。

要使用命名格式化,请在.format()方法中使用关键字参数。参数名称必须与表达式的大括号内指定的名称相匹配。

例如:
print("My name is {name} and I am {age} years old.".format(name=name, age=age))

输出:
My name is John and I am 30 years old.

对齐和填充

Python提供选项对字符串进行对齐和填充。对齐符号-和+分别指定左对齐和右对齐。填充符号分别指定左填充和右填充。

例如:
print("{:10}".format("Name", "Age"))
print("{:10}".format(name, age))

输出:
Name : Age
John : 30

缩写specifier

缩写符specifier允许您以更简洁的方式格式化字符串。它们以字母r开头,后跟一个缩写符类型代码。| 缩写符类型代码 | 用途 |
|---|---|
| r | 原始字符串 |
| s | 字符串 |
| d | 十进制整数 |
| f | 浮点数 |
| a | 对齐 |

例如:
print(f"My name is {name} and I am {age} years old.")

输出:
My name is John and I am 30 years old.

自定义格式化

Python允许您定义自己的自定义格式化类。这提供了对如何格式化表达式的完全控制。

要定义自定义格式化类,请创建一个子类并将__format__()方法实现为该类。__format__()方法接受两个参数:格式化器和要格式化的值。

例如:
class UppercaseFormatter():
def __init__(self, fmt):
super().__init__(fmt)
def format(self, value):
return super().format(value).upper()
print(UppercaseFormatter("My name is {name}").format(name=name))

输出:
MY NAME IS JOHN


Python字符串格式化提供了广泛的选项,用于轻松地将数据插入字符串中。了解这些选项对于创建动态文本、提高代码可读性和简化字符串操作至关重要。通过练习和试验,您可以掌握Python字符串格式化的强大功能。

2024-10-22


上一篇:格式化字符串:Python 中的强大工具

下一篇:Python 的 map 函数详解