【问题标题】:Why do I receive an error when the I use name.replace('N','n') instead of name.replace("N","n")为什么我使用 name.replace('N','n') 而不是 name.replace("N","n") 时收到错误
【发布时间】:2019-03-21 13:40:18
【问题描述】:

以下代码块抛出错误:

greeting = 'Hello'
name = 'Nisarg'

message = f'{greeting}, {name.replace('N','n')}. Welcome!'

print(message)

但是,以下代码块似乎可以完美运行:

greeting = 'Hello'
name = 'Nisarg'

message = f'{greeting}, {name.replace("N","n")}. Welcome!'

print(message)

单引号和双引号在 Python 中可以互相替换,但是,为什么这里会出现问题。

【问题讨论】:

  • 因为您试图在由单引号分隔的字符串中包含单引号。字符串中的第一个单引号结束字符串文字。
  • 如果你这样做了f"{greeting}, {name.replace('N','n')}. Welcome!"。这不会是一个问题。你没有正确使用引号

标签: python python-3.x string


【解决方案1】:

SO 突出显示应该给你一个线索。单引号和双引号确实可以替换,但是您已经在整个字符串周围使用单引号;因此,当 Python 遇到另一个单引号时,它会将其解释为您正在结束字符串。

这正是为什么有多种方式首先引用字符串的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-09
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多