当前位置: 首页 > 面试题库 >

如何使用内联变量创建多行Python字符串?

茹正初
2023-03-14
问题内容

我正在寻找一种在多行Python字符串中使用变量的干净方法。假设我想执行以下操作:

string1 = go
string2 = now
string3 = great

"""
I will $string1 there
I will go $string2
$string3
"""

我正在寻找是否有与$Perl中类似的东西来指示Python语法中的变量。

如果不是-用变量创建多行字符串的最干净方法是什么?


问题答案:

常用的方法是format()函数:

>>> s = "This is an {example} with {vars}".format(vars="variables", example="example")
>>> s
'This is an example with variables'

它可以与多行格式字符串一起正常工作:

>>> s = '''\
... This is a {length} example.
... Here is a {ordinal} line.\
... '''.format(length='multi-line', ordinal='second')
>>> print(s)
This is a multi-line example.
Here is a second line.

您还可以传递带有变量的字典:

>>> d = { 'vars': "variables", 'example': "example" }
>>> s = "This is an {example} with {vars}"
>>> s.format(**d)
'This is an example with variables'

在语法上,最接近您要求的是模板字符串。例如:

>>> from string import Template
>>> t = Template("This is an $example with $vars")
>>> t.substitute({ 'example': "example", 'vars': "variables"})
'This is an example with variables'

我应该补充一点,尽管该format()功能更为常见,因为它易于使用并且不需要导入行。



 类似资料:
  • 问题内容: 有没有一种方法可以从字符串创建全局变量?我知道您可以像这样从字符串中创建变量: 因此,使hello变量等于10。我不知道如何使该用户输入变量成为全局变量,但这不起作用: 问题答案: 您可以使用以下功能:

  • 本文向大家介绍如何在Python中创建长的多行字符串?,包括了如何在Python中创建长的多行字符串?的使用技巧和注意事项,需要的朋友参考一下 为了创建多行字符串,我们使用三对来代替使用一对单引号/双引号。例如,  这将给出输出:  请注意,您不能使用此符号插入字符串。此符号也用于在Python中定义文档字符串。

  • 问题内容: 假设我想使以下内容可重复使用: 我可能会做这样的事情: 使用字符串文字,这很容易。但是,如果我想对正则表达式更加棘手,该怎么办?例如,说我要替换, 而是 。本能地,我会尝试通过以下方式扩展上述内容: 这似乎不起作用。我的猜测是它认为是字符串文字,而不是代表字符串的变量。是否可以使用字符串变量即时创建JavaScript正则表达式?如果可能的话,这样的事情会很棒: 问题答案: 还有哪里是

  • 问题内容: 为什么这项工作 但是扩充会导致语法错误。 我期待有另一种方式: 问题答案: 您不能在多个目标上使用增强分配语句。 引用扩充作业文档: 除了在单个语句中分配给元组和多个目标外, 由扩展赋值语句完成的赋值与普通赋值的处理方式相同。类似地,除了可能 的就地 行为外,通过扩充分配执行的二进制操作与正常的二进制操作相同。 强调我的。 就地扩展分配从转换为(每个操作员都有相应的钩子),并且不支持将

  • 我有下面的代码 我希望验证这是否是HTML的正确格式,因为它包含许多变量,如果出现问题,很难进行调试。

  • 问题内容: 我有一个分配了字符串的变量,我想根据该字符串定义一个新变量。 问题答案: 你可以使用exec: