【发布时间】:2019-04-30 10:59:32
【问题描述】:
我正在使用 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,如果没有,请不要在字符串中添加任何单词。
【问题讨论】:
-
公平地说,该错误消息非常具有误导性。解析器还没有到达文件的末尾(在任何实际意义上),而是 f-string 中
{...}块的末尾。 -
另外,请参阅stackoverflow.com/questions/1984162/purpose-of-pythons-repr 了解
__repr__和__str__应该返回的字符串类型。
标签: python string eof repr f-string