python - else vs return 在函数中使用以提前停止处理

标签 python

[编辑] 将 return 0 更改为 return。成为 Python n00b 的副作用。 :)

我正在定义一个函数,其中我正在执行大约 20 行处理。在处理之前,我需要检查是否满足某个条件。如果是这样,那么我应该绕过所有处理。我已经这样定义了函数。

def test_funciton(self,inputs):
    if inputs == 0:
        <Display Message box>
        return
    <20 line logic here>

请注意,20 行逻辑不返回任何值,我没有使用第一个“if”中返回的 0。

我想知道这是否比使用以下类型的代码更好(在性能、可读性或任何其他方面),因为上面的方法对我来说看起来不错,因为它少了一个缩进:

def test_function(self,inputs):
    if inputs == 0:
        <Display Message box>
    else:
        <20 line logic here>

最佳答案

一般来说,它提高了代码的可读性以尽早处理故障情况。那么你的代码的主体就不必担心这些,你的代码的读者也不必再考虑它们。在许多情况下,您会引发异常,但如果您真的不想做任何事情,我认为这不是一个主要问题,即使您通常遵循“单一退出点”风格。

但为什么return 0 而不是 return,因为您没有使用该值?

关于python - else vs return 在函数中使用以提前停止处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11194119/

相关文章:

python - 如何使用 Scrapy 抓取 JSON 数据

python - virtualenv 和使用 pip install 以及 --ignore-installed 和 --user 选项有什么区别?

python - 所选行的值 > X 的列名称列表

python - 如何使用 Python 下载 Confluence 页面附件?

Python pandas 从嵌入 Web txt 文件中的 csv 创建数据框

Python 枚举等价物

java - 从 Java 中的 Tensorflow 服务模型获取 Matrix 响应

python - 如何在 Python + MySQL 中使用条件语句?

python - 如何根据 HTML 通过 Selenium 和 Python 将文本发送到文本区域

python - 根据另一列计算 groupby 中的百分比