Python 无条件返回
我尝试在Python中执行类似的操作:Python 无条件返回,python,Python,我尝试在Python中执行类似的操作: return None if a is None 而不是: if a is None: return None 但是我得到一个无效的语法错误 我尝试使用pass: return None if a is None else pass 但它不起作用。有pythonian的方法吗?语法: c = a if condition else b 是以下各项的代理: if condition: c = a else: c = b 并且必
return None if a is None
而不是:
if a is None:
return None
但是我得到一个无效的语法错误
我尝试使用pass
:
return None if a is None else pass
但它不起作用。有pythonian的方法吗?语法:
c = a if condition else b
是以下各项的代理:
if condition:
c = a
else:
c = b
并且必须具有代码中缺少的条件的两个分支(如中的语法描述所述,并在相应的中进一步讨论)。更多关于Python中的if
/else
三元运算符的讨论
对于
返回
,情况也是如此:
return a if condition else b
相当于:
if condition:
return a
else:
return b
在代码中,如果在该条件之后没有说明,则可以使用:
return None if a is None else None
这是一个非常无用的陈述,可以用以下内容代替:
return None
甚至完全忽略了
最后:
if a is None:
return None
已经是代码的Python版本。
可接受的替代方案包括:
if a is None:
return
建议避免将多个语句放在同一行上:
通常不鼓励使用复合语句(同一行上有多个语句)
但是,对小型阀体一衬板开放:
有时候,把一个小身体的if/for/while放在同一条线上是可以的
是条件值的无条件返回
如果您想要有条件的返回,您可以更改的全部内容都放在一行上,如下所示:
if a is None: return
您想要返回的是
a
不是None
?我认为这在Python中是不可能的。对于这个简单的示例,您将返回None
(因为None
是在没有return
语句的情况下的隐式返回值)请注意,在Python中,默认情况下函数返回None
(即不返回任何内容时)。这意味着你唯一想做的事情就是在相反的条件为真时返回一些东西。嗯,你是对的,正确的副本是为什么被否决?如果你添加一个来源来证明你的“必须有[…]”我会向上投票,因为这是个问题asked@CorentinPane好好读一读:-)谢谢@norok2-所以按照我的理解,这是办不到的。仅将两行(如果…,则返回None…)收缩为一行。谢谢
if a in None: return
return None if ...
if a is None: return