python 一行返回值,如果可用则返回 None

ary*_*yan 3 python

可以说我有一个变量name = "Jack"。我可以这样检查

if name:
    return name
else:
    name = None
    return name
Run Code Online (Sandbox Code Playgroud)

有没有办法在一行中处理它,例如:

new_name = name if not return none 如果可用,则简单地返回变量值,如果不可用,则应返回None

Ian*_*Ian 9

是的,你可以在一行中完成它,如我的评论所示:

return name if name else None
Run Code Online (Sandbox Code Playgroud)

或者对于这个特定情况甚至更简单(正如 Martijn 所指出的):

return name or None
Run Code Online (Sandbox Code Playgroud)