首页 > 解决方案 > 在 __repr__() 函数中使用 f 字符串时出现 EOF 错误

问题描述

我正在使用 Python 3.x,并且正在尝试从__repr__函数中获取 f 字符串来报告,但我似乎无法让以下格式化字符串按照我期望的方式工作。

我不断收到“SyntaxError:解析时意外 EOF”

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,如果不是,请不要在字符串中添加任何单词。

标签: pythonstringeofreprf-string

解决方案


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

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

推荐阅读