代码之家  ›  专栏  ›  技术社区  ›  dragonfly02

条件字符串插值

  •  -1
  • dragonfly02  · 技术社区  · 7 年前

    下面的语法有什么问题?我想分配 x {diff} short of 如果 diff > 0 否则应为空字符串。

    diff = 1
    x = f"{diff 'short of' if diff > 0 else ''}"
    

    编辑: 根据评论,正确的方法是:

    x = f"{diff} short of" if diff > 0 else ""
    

    但是,我也需要 X 在另一个字符串插值中,例如

    y = f"That's {x} your best"
    

    现在问题是如果 X 是空的,有一个 额外的 空间在 y ,即y= "That's your best" 而不是 "That's your best" . 字符串插值是否自动添加空格?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Mig82 Ali    7 年前

    关于你的问题:

    字符串插值是否自动添加空格?

    不。您只是在第一个模板字符串的末尾缺少一个空格,而在第二个模板字符串中有太多的一个空格。用途:

    x = f"{diff} short of " if diff > 0 else ""
    

    还有:

    y = f"That's {x}your best"
    

    后面的尾随空格 x 只有在以下情况下才会添加 X 不是空的。