python一行返回值,如果可用,如果不返回无

时间:2016-05-19 06:17:52

标签: python

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

if name:
    return name
else:
    name = None
    return name

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

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

2 个答案:

答案 0 :(得分:3)

return name if name else None

有效:

>>> def test_name(name):
...     return name if name else None
... 
>>> print test_name("")
None
>>> print test_name("Jack")
Jack

答案 1 :(得分:2)

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

return name if name else None

对于这个具体案例甚至更简单(正如Martijn所指出的那样):

return name or None