小编hei*_*wol的帖子

python中带条件返回的函数式风格

假设我们有一个具有以下结构的函数:

def f():
    # ...
    # some computations
    # ...
    if something_is_wrong_with_previous_computations:
        return None
    # ...
    # some other computations
    # ...
    if something_is_wrong_with_previous_computations2:
        return some_variable
    #...
    return result
Run Code Online (Sandbox Code Playgroud)

在我看来,return在函数中间使用语句根本不起作用。如果我们使用某种 lispy 语言,我们将拥有let(然后可以用let*)语句编写计算,这将帮助我们轻松处理这些情况。不幸的是,我们这里没有。我们应该做什么?

  • 模拟let创建大量嵌套函数并就地调用它们?
  • 使用类似Maybemonad 或其他类似的复杂东西?
  • 不要浪费我们的时间并命令式地编写它?
  • 还有什么?

lisp python functional-programming

1
推荐指数
1
解决办法
86
查看次数

标签 统计

functional-programming ×1

lisp ×1

python ×1