如何在单行中编写Python if else?

如何在单行中编写Python if else?,python,Python,上面是我试图在一行中编写if-else的代码,它给了我这个语法错误 category.is_parent = True if self.request.get('parentKey') is not None else category.is_parent = False 但如果我用下面的方法写的话,效果会很好 SyntaxError: can't assign to conditional expression" 试试这个: if self.request.get('parentKey')

上面是我试图在一行中编写if-else的代码,它给了我这个语法错误

category.is_parent = True if self.request.get('parentKey') is not None else category.is_parent = False
但如果我用下面的方法写的话,效果会很好

SyntaxError: can't assign to conditional expression"
试试这个:

if self.request.get('parentKey') is not None:
     category.is_parent = True
else:
    category.is_parent = False
要仅检查“无”,请执行以下操作:

你可以写:

category.is_parent=如果self.request.get'parentKey'不是False,则为True

在这种情况下甚至更简单:


category.is_parent=self.request.get'parentKey'不是None

这与OP想要的不完全相同。不处理self.request.get'parentKey'是falsy而不是None@SaimAbdullahCh你可以接受它作为你问题的答案:@MosesKoledoye你怎么知道的?因为,0,[]等都会返回False,但在这种情况下应该是True。你不需要在这里输入id/else。只需执行category.is_parent=self.request.get'parentKey'!=如果你把它放在一行,它的语法会稍微不同。如果条件else b,则x=a,您也可以将多个条件链接起来,就像x=a如果条件else b如果条件2 else c您尝试的结构是“如果条件else”;允许的结构为“variable=”,其中表达式的形式为“if-else”。
category.is_parent = True if self.request.get('parentKey') else False
category.is_parent = True if self.request.get('parentKey') is not None else False