返回介绍

少用 else 让程式逻辑更清楚

发布于 2024-10-04 21:36:23 字数 1842 浏览 0 评论 0 收藏 0

Why

讓主邏輯簡潔易懂。

What

程式邏輯常出現分支,這時會習慣性地用 if ... elif ... else ... 的寫法。雖然這樣寫起來很直觀,卻不易讀,容易分心在雜亂的分枝裡,而無法專心理解全局。

How

使用 Return Guard

def foo(x):
    if x < 0:
        return False
    ...
    return True

使用函式和 list comprehension

abs_numbers = [math.fabs(x) for x in numbers]
def x_to_y(x):
    if SOME_CONDITION:
        return SOME_VALUE
    ...
    return SOME_VALUE

ys = [x_to_y(x) for x in xs]

使用 Dictionary

import operator

def calculation(a, op, b):
    digits = ['zero', 'one', 'two', 'three', 'four',
              'five', 'six', 'seven', 'eight', 'nine']
    s2n = dict(zip(digits, range(10)))
    n2s = dict(zip(range(10), digits))

    op_names = ['add', 'subtract', 'divide', 'multiply']
    op_funcs = [operator.add, operator.sub, operator.div, operator.mul]
    s2op = dict(zip(op_names, op_funcs))

    result = s2op[op](s2n[a], s2n[b])
    return n2s[result]

print calculation('one', 'add', 'two')  # three

使用多型

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文