提问人:GrantG 提问时间:11/28/2018 最后编辑:JongwareGrantG 更新时间:11/28/2018 访问量:433
在 __repr__() 函数中使用 f 字符串时出现 EOF 错误
EOF Error while using f-string in __repr__() function
问:
我正在使用 Python 3.x,我正在尝试从函数中获取要报告的 f 字符串,但我似乎无法让以下格式化的字符串按照我期望的方式工作。__repr__
我经常收到“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}。如果不清楚,我正在尝试包含“软”IFF self.soft>0 一词,如果没有,请不要在字符串中添加任何单词。
答:
5赞
blhsing
11/28/2018
#1
与语句不同,条件表达式中的关键字不是可选的:if
else
def __repr__(self):
return f"Player has {'Soft' if self.soft > 0 else ''} {self.count}. Cards are {self.cards}."
评论
0赞
GrantG
11/29/2018
棒。谢谢。
0赞
GrantG
11/29/2018
后续问题,你说的“如果”是可选的是什么意思?
0赞
blhsing
11/29/2018
很高兴能帮上忙。我的意思是,在语句中,块是可选的,但在条件表达式中,即使它也使用关键字,表达式的部分也不是可选的。假设您省略了关键字,只是因为您与语句的用法相提并论。if
else
if
else
else
if
下一个:从 char 输入连接字符串
评论
{...}
__repr__
__str__