在 __repr__() 函数中使用 f 字符串时出现 EOF 错误

EOF Error while using f-string in __repr__() function

我在 Python 3.x 工作,我试图从 __repr__ 函数中获取一个 f-string 来报告,但我似乎做不到让以下格式化字符串按照我期望的方式工作。

我不断收到 "SyntaxError: unexpected EOF while parsing"

def __repr__(self):
    return f"Player has {'Soft' if self.soft > 0} {self.count}. Cards are {self.cards}."

报错的部分是{'Soft' if self.soft > 0}。如果不清楚,我会尝试包含 "Soft" IFF self.soft>0 这个词,如果不是,请不要在字符串中添加任何词。

if语句不同,条件表达式中的else关键字不是可选的:

def __repr__(self):
    return f"Player has {'Soft' if self.soft > 0 else ''} {self.count}. Cards are {self.cards}."