Module 01 · Python BasicsPython 基础
(Optional) Reading: Format Strings in Python(可选)阅读:Python 字符串格式化
估计时间:5分钟
格式字符串是在Python中将变量注入字符串的一种方式。它们用于格式化字符串并生成更易于人类阅读的输出。在Python中有几种格式化字符串的方法:
字符串插值(f-strings)
在 Python 3.6 中引入的 f-strings 是一种在 Python 中格式化字符串的新方法。它们以 ‘f’ 为前缀,并使用花括号 {} 来包围将要格式化的变量。例如:
name = "John"
age = 30
print(f"My name is {name} and I am {age} years old.")
这将输出:
My name is John and I am 30 years old.
str.format()
这是在 Python 中格式化字符串的另一种方式。它使用花括号 {} 作为变量的占位符,这些变量作为参数传递给 format() 方法。例如:
name = "John"
age = 50
print("My name is {} and I am {} years old.".format(name, age))
这将输出:
My name is John and I am 50 years old.
% 运算符
这是 Python 中格式化字符串的最古老方式之一。它使用 % 运算符来替换字符串中的变量。例如:
name = "Johnathan"
age = 30
print("My name is %s and I am %d years old." % (name, age))
这将输出:
My name is Johnathan and I am 30 years old.
“我的名字是 %s,我 %d 岁。”:这是一个包含格式说明符的字符串:
- %s:这是一个字符串的占位符。
- %d:这是一个整数的占位符。
% (name, age):这是一个包含变量 name 和 age 的元组。这些变量的值将替换字符串中的占位符。
每种方法都有其优点和使用场景。然而,f-字符串通常被认为是格式化 Python 字符串的最现代和首选方式,因为它们具有良好的可读性和性能。
附加功能
F-strings 还能够评估花括号内的表达式,这非常方便。例如:
x = 10
y = 20
print(f"The sum of x and y is {x+y}.")
这将输出:
The sum of x and y is 30.
原始字符串 (r’’)
在 Python 中,原始字符串是处理文本数据的强大工具,特别是在处理转义字符时。通过在字符串字面量前加上字母 ‘r’,Python 将该字符串视为原始字符串,这意味着它将反斜杠解释为字面字符,而不是转义序列。
考虑以下常规字符串和原始字符串的示例:
常规字符串:
regular_string = "C:\new_folder\file.txt"
print("Regular String:", regular_string)
这将输出:
Regular String: C:ew_folderile.txt
在常规字符串 regular_string 变量中,反斜杠(\n)被解释为转义序列。因此,\n 代表一个换行符,这会导致文件路径表示不正确。
原始字符串:
raw_string = r"C:\new_folder\file.txt"
print("Raw String:", raw_string)
这将输出:
Raw String: C:\new_folder\file.txt
然而,在原始字符串 raw_string 中,反斜杠被视为字面字符。这意味着 \n 不被解释为换行符,而是作为两个单独的字符,\ 和 n。因此,文件路径的表示方式与其实际显示完全相同。