我有一些字符串要连接,结果字符串会很长。我还有一些要连接的变量。
如何组合字符串和变量,使结果成为多行字符串?
以下代码抛出错误。
str = "This is a line" +
str1 +
"This is line 2" +
str2 +
"This is line 3" ;
这个我也试过
str = "This is a line" \
str1 \
"This is line 2" \
str2 \
"This is line 3" ;
请建议一种方法。
Python不是php,你不需要把$
放在变量名之前。
a_str = """This is a line
{str1}
This is line 2
{str2}
This is line 3""".format(str1="blabla", str2="blablabla2")
从Python 3.6开始,您可以使用所谓的格式化字符串(或f字符串)轻松地将变量插入字符串。只需在字符串前面添加一个f
,并将变量写入花括号({}
)中,如下所示:
>>> name = "John Doe"
>>> f"Hello {name}"
'Hello John Doe'
要将长字符串拆分为多行,请使用括号(()
)或多行字符串(由三个引号包围的字符串"
或"'
而不是一个)。
字符串周围有圆括号,你甚至可以连接它们,而不需要在它们之间进行签名:
a_str = (f"This is a line \n{str1}\n"
f"This is line 2 \n{str2}\n"
"This is line 3") # no variable here, so no leading f
好消息:如果一行中没有变量,则该行不需要前导的f
。
很高兴知道:您可以在每行末尾使用反斜杠(\
)而不是括号来存档相同的结果,但是对于PEP8,您应该更喜欢括号作为行继续:
通过将表达式括在括号中,可以在多行上打断长行。应该优先使用这些选项,而不是使用反斜杠作为行延续。
在不需要显式插入\n
的多行字符串中,Python为您解决了以下问题:
a_str = f"""This is a line
{str1}
This is line 2
{str2}
This is line 3"""
很高兴知道:只要确保你正确地对齐你的代码,否则你会在每一行前面有空白。
顺便说一下:您不应该调用变量str
,因为这是数据类型本身的名称。
格式化字符串的来源:
有几种方法。一个简单的解决方案是添加括号:
strz = ("This is a line" +
str1 +
"This is line 2" +
str2 +
"This is line 3")
如果要将每一“行”放在单独的行上,可以添加换行符:
strz = ("This is a line\n" +
str1 + "\n" +
"This is line 2\n" +
str2 + "\n" +
"This is line 3\n")
问题内容: 我试图在Python中连接字符串和数字。当我尝试这样做时,它给了我一个错误: 错误是: 为什么我不能做到这一点? 如何 可以 我将字符串和Python中的号码是多少? 问题答案: Python是强类型的。没有隐式类型转换。 您必须执行以下操作之一:
本文向大家介绍如何在Python中用数字连接字符串?,包括了如何在Python中用数字连接字符串?的使用技巧和注意事项,需要的朋友参考一下 要用数字连接字符串,您需要使用str(number)将数字转换为字符串。例如, 在Python 2中,您还可以使用backtick(``)包围数字并使用数字和字符串获得相同的结果。请注意,反引号已从Python 3中删除。例如,
问题内容: 我有四个字符串,其中任何一个都可以为空。我需要将它们连接成一个字符串,并在它们之间留有空格。如果我使用: 如果为空,结果将是新字符串开头的空白。另外,如果和为空,则我有三个空格。 当我不需要空格时,如何轻松地加入它们? 问题答案: 通过在调用中使用,它将删除所有虚假元素。
问题内容: 我认为这是不可能的,但我想我要是有办法的话。我的想法是,我有一个用于Web资源文件夹路径的变量: 我得到这个结果: 但是,我希望将字符串合并为一个字符串,如下所示: 是否可以在Less中将字符串连接在一起? 问题答案: 使用变量插值 完整代码:
问题内容: 我想知道操作员和操作员之间的速度差是多少。 那么两者的速度比较是多少? 问题答案: 来自:有效的字符串连接 方法1: 方法4: 现在,我意识到它们并不是严格的代表,第4种方法会在遍历和加入每个项目之前追加到列表中,但这是一个合理的指示。 字符串连接要比串联快得多。 为什么?字符串是不可变的,不能在原位置更改。要更改一个,需要创建一个新的表示形式(两者的串联)。
问题内容: 我想在CSS中实现以下目标。我该如何在IE8 +中运行 问题答案: 您无法按照建议的方式进行动态字符串插值,但是如果属性的可能值数量有限,则可以为每个属性创建样式: 如果类型数量不合理,那么您可能需要提出一个比我这里列出的更好的解决方案。