如果输入本身为None,则返回Pythonic方式无?

时间:2016-12-12 11:07:28

标签: python

在Python中编写 null-check 的最佳方法是什么? Try-Except阻止if阻止......?

如果输入是None,有效输入,给定一个返回None的函数,处理这种情况的最佳方法是什么?以此功能为例:

def urlify(path):
    if path is None:
        return None

    return "<a href=\"{0!s}\">{0!s}</a>".format(path)

1 个答案:

答案 0 :(得分:4)

如果path为None,则可以使用带有return语句的三元运算符返回None,否则返回其他内容。

def urlify(path):
    return path if path is None else "<a href=\"{0!s}\">{0!s}</a>".format(path)

但是,考虑到函数默认情况下返回None,您只需执行以下操作:

def urlify(path):
    if path is not None:
        return "<a href=\"{0!s}\">{0!s}</a>".format(path)

或者如评论中提到的vaultah,您也可以使用and进行短路。