Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无条件返回_Python - Fatal编程技术网

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 并且必

我尝试在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
并且必须具有代码中缺少的条件的两个分支(如中的语法描述所述,并在相应的中进一步讨论)。更多关于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