详解Python 字符串格式化

  • Post category:Python

Python 字符串格式化是用于处理字符串输出的一种方式,通过使用特殊的格式代码来替换字符串中的变量或者表达式。本文将会详细讲解Python 字符串格式化的使用方法,包括使用占位符和使用格式化字符串字面量等两种方式。

使用占位符进行Python字符串格式化

基本使用方法

在Python中,字符串的中的”%”运算符可以用来进行格式化。用法非常简单,使用%s等占位符,然后通过%将占位符和变量连接起来。

代码示例:

name = "Jack"
age = 28
print("My name is %s and I am %d years old" % (name, age))

输出结果:

My name is Jack and I am 28 years old

这里的%s和%d是占位符,它们分别代表字符串和数字格式化。%(name,age)则表示需要填入的变量。

占位符详解

占位符能够让我们更加灵活地进行字符串格式化,可以通过多种方式来进行变量的格式化。

占位符 描述
%s 字符串
%d 整数
%f 浮点数
%o 八进制数
%x 十六进制数
%e 科学计数法

还可以通过占位符的方式来进行数据类型的强制转换:

占位符 描述
%c 字符
%r 从repr()转化而来的字符串
%i 十进制整数
%u 无符号整数

使用字典进行占位符字符串格式化

我们也可以使用字典的方式来进行字符串的格式化,这在需要多个变量的情况下非常方便。

代码示例:

info = {'name': 'Jack', 'age': 28}
print("My name is %(name)s and I am %(age)d years old" % info)

输出结果:

My name is Jack and I am 28 years old

使用字典的方式,我们可以将需要格式化的变量存入字典中,并在字符串中通过占位符的方式进行引用。

使用格式化字符串字面量进行Python字符串格式化

在Python3.6及以上版本中,可以使用格式化字符串字面量(F-strings)进行字符串格式化,使用f形式声明字符串时可以实现变量自动解析。通过在字符串前面加一个f,然后在字符串中使用花括号{}来引用变量。

代码示例:

name = "Tom"
age = 34
print(f"My name is {name} and I am {age} years old")

输出结果:

My name is Tom and I am 34 years old

使用F-strings,我们不需要再使用%s等占位符进行字符串格式化。只需要在字符串前面加上f,然后在字符串中使用花括号来引用变量即可。

F-strings支持表达式

F-strings也支持在花括号中进行表达式的使用。

代码示例:

a = 3
b = 5
print(f"{a} + {b} = {a+b}")

输出结果:

3 + 5 = 8

通过在花括号中使用表达式,我们可以进行更加自由的变量解析和操作。

总结:

本文详细的讲解了Python字符串格式化的使用方法,并用代码示例进行了说明。在实际开发中,我们根据需要选择合适的方式来进行字符串格式化。同时,我们还介绍了F-strings在Python3.6及以上版本的使用方法,通过此方法我们可以更加便利的进行字符串格式化。