在 Python 中连接多行字符串

在 Python 中连接多行字符串

Concatenate strings over multiple lines in Python

使用括号和加法 (+) 运算符连接多行的字符串。括在括号中的表达式可以跨越多行。

主程序
string1 = 'bobby' string2 = 'hadz' result = (string1 + string2 + '.com') print(result) # 👉️ bobbyhadz.com # -------------------------------------- result = (string1 + '\n' + string2 + '\n' + '.com') # bobby # hadz # .com print(result)

第一个示例将表达式括在括号中以连接多行的字符串。

括在括号中的表达式可以跨越多行。

根据官方
PEP8 风格指南,换行的首选方法是在圆括号、方括号和大括号内使用 Python 的隐式续行。

该指南不建议使用反斜杠来续行。

\n如果需要创建多行字符串,还可以在每行末尾添加一个换行符 ( )。
主程序
string1 = 'bobby' string2 = 'hadz' result = (string1 + '\n' + string2 + '\n' + '.com') # bobby # hadz # .com print(result)

使用加法运算符时,必须确保两边的值都是字符串。

例如,如果您有一个存储整数的变量,请在使用加法 (+) 运算符之前将其转换为字符串。

主程序
string1 = 'bobby' string2 = 'hadz' integer = 123 result = (string1 + '\n' + string2 + '\n' + '.com' + '\n' + str(integer)) # bobby # hadz # .com # 123 print(result)
加法 (+) 运算符左右两侧的值需要是兼容类型。

三引号字符串也可用于创建多行字符串。

主程序
multiline_string = """\ bobby hadz com""" # bobby # hadz # com print(multiline_string)

三引号字符串与我们使用单引号或双引号声明的基本字符串非常相似。

但它们也使我们能够:

  • 在同一个字符串中使用单引号和双引号而不转义
  • 定义多行字符串而不添加换行符

或者,您可以使用格式化的字符串文字。

Concatenate strings over multiple lines using an f-string #

Use parentheses and a formatted string literal to concatenate strings over
multiple lines. Expressions that are wrapped in parentheses can span multiple
lines.

main.py
string1 = 'bobby' string2 = 'hadz' result = (f'{string1}-' + f'{string2}-' + 'com') print(result) # 👉️ bobby-hadz-com # -------------------------------------- result = f"""{string1} {string2} .com""" # bobby # hadz # .com print(result)

Formatted string literals (f-strings) let us include expressions inside of a
string by prefixing the string with f.

main.py
var1 = 'bobby' var2 = 'hadz' result = f'{var1}{var2}' print(result) # 👉️ bobbyhadz

Make sure to wrap expressions in curly braces – {expression}.

You can also declare a triple-quoted formatted string literal if you need to create a multiline string that evaluates variables and expressions.
main.py
string1 = 'bobby' string2 = 'hadz' result = f"""{string1} {string2} .com""" # bobby # hadz # .com print(result)

When using a triple-quoted string, we don’t explicitly have to add a newline
(\n) character at the end of each line.

Formatted string literals also automatically take care of converting values to
strings.

main.py
string1 = 'bobby' string2 = 'hadz' integer = 123 result = f'-> {string1}{string2}{integer}' print(result) # 👉️ -> bobbyhadz123

如果我们使用加法 (+) 运算符连接值,我们将不得不将整数转换为字符串。