我喜欢 python 3.6 中的新 f-Strings,但是在尝试在表达式中返回字符串时遇到了一些问题。以下代码不起作用,并告诉我我使用了无效的语法,即使表达式本身是正确的。
print(f'{v1} is {'greater' if v1 > v2 else 'less'} than {v2}') # Boo error
它告诉我'greater'
并且'less'
是意想不到的标记。如果我用两个包含字符串甚至两个整数的变量替换它们,错误就会消失。
print(f'{v1} is {10 if v1 > v2 else 5} than {v2}') # Yay no error
我在这里想念什么?