以下语法有什么问题?如果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"
而不是{{1} }。
字符串插值会自动添加空格吗?
答案 0 :(得分:1)
对您的问题:
字符串插值会自动添加空格吗?
不。您只是在第一个模板字符串的末尾缺少一个空格,而在第二个模板字符串中却有太多的空格。使用:
x = f"{diff} short of " if diff > 0 else ""
并且:
y = f"That's {x}your best"
现在,仅当x
不为空时,才添加x
之后的尾随空格。