【问题标题】:How to add two "flags" in python string literals如何在python字符串文字中添加两个“标志”
【发布时间】:2019-06-03 17:41:20
【问题描述】:

如何在 Python 3.6+ 中向字符串文字添加 2 个或更多标志?

到目前为止,我可以做到:

格式标志

my_var = 111
other_var = f'myString{my_var}' #  myString111

原始标志

other_var = r'whatever\something'

这将忽略反斜杠作为特殊字符并将其视为普通字符。

但是我怎样才能将 2 个标志连接在一起呢?

my_var = 111
other_var = rf'whatever\{my_var}'

(我想威胁反斜杠作为普通字符,同时我想将变量解析为字符串)

【问题讨论】:

  • other_var = rf'whatever\{my_var}' 在 Python 3.7.3 中对我来说很好用。当你尝试它时发生了什么?
  • 我的错,我被 PyCharm(它突出显示为错误)和 Python 的控制台愚弄了。当我在控制台上写other_var 时,它显示给我whatever\\111(双反斜杠),但如果我写print(other_var),它会正确打印。

标签: python python-3.x string-literals


【解决方案1】:

将它们按正确的(字母顺序)顺序排列。

my_var = 111
other_var = fr'whatever\{my_var}'
print(other_var)

输出

whatever\111

【讨论】:

  • 前缀的顺序无关紧要。 fr'\{foo}'rf'\{foo}' 是一样的。
  • 我的错,我被 PyCharm(它突出显示为错误)和 Python 的控制台愚弄了。当我在控制台上写other_var 时,它显示给我whatever\\111(双反斜杠),但如果我写print(other_var),它会正确打印。
  • @Blckknght 啊,我想我也被 PyCharm 愚弄了。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多