编码风格,在Python / django方法中使用return作为中断

时间:2018-10-21 21:26:22

标签: python django coding-style

在其他编程语言中,我非常习惯于做这样的事情:

def doit(bikes):
    if type(bikes) is not list:
        return False

    # do something with bikes list

但是在我见过的大多数python代码中,它的工作都比

def doit(bikes):
    if type(bikes) is list:
        # do something with bikes list

所以我的方式不是真的“ pythonic”吗?我不知道这是否真的设置了一个例子,但是我想表达的是,我总是尽量不要将要运行的代码放在语句中,而是在出现错误时中断方法。这也可能看起来像

def runbikes(bikes):
    if type(bikes) is not list:
        return False
    if len(bikes) < 1:
        return False
    if 'tandem' not in bikes:
        return False

    return [bike.run() for bike in bikes]

这符合python编码指南吗?

1 个答案:

答案 0 :(得分:1)

def runbikes(bikes):
    try:
        return [bike.run() for bike in bikes]
    except (TypeError,AttributeError,ValueError):
        return False

可能是“ pythonic”的实现方式