下面的语法有什么问题?我想分配 x 到 {diff} short of 如果 diff > 0 否则应为空字符串。
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 在另一个字符串插值中,例如
X
y = f"That's {x} your best"
现在问题是如果 X 是空的,有一个 额外的 空间在 y ,即y= "That's your best" 而不是 "That's your best" . 字符串插值是否自动添加空格?
y
"That's your best"
关于你的问题:
字符串插值是否自动添加空格?
不。您只是在第一个模板字符串的末尾缺少一个空格,而在第二个模板字符串中有太多的一个空格。用途:
x = f"{diff} short of " if diff > 0 else ""
还有:
y = f"That's {x}your best"
后面的尾随空格 x 只有在以下情况下才会添加 X 不是空的。