猿问

Python:lamda与if / else

我试图lambda self.status: partial if max_refundable == amount else self.status = refunded用if / else替换成一行。但是,它不能按预期方式工作。有人知道问题出在哪里吗?


if max_refundable == amount:

    self.status = partial

else:

    self.status = refunded


MMTTMM
浏览 428回答 2
2回答

梵蒂冈之花

因为那是无效的语法lambda self.status: partial if max_refundable == amount else self.status = refunded等价于def _lambda_func_(self.status):     return partial if max_refundable == amount else self.status = refunded这不是您想要的(self.status不是有效的参数名称)。您不需要功能,只需执行self.status = partial if max_refundable == amount else refunded

MMMHUHU

语法如下:a = 1b = 3a = a+b if a == 2 else b在您的情况下,它看起来像这样:self.status = partial if max_refundable == amount else refunded
随时随地看视频慕课网APP

相关分类

Python
我要回答