【问题标题】:Can the return statement be used as such without returning any value?可以这样使用 return 语句而不返回任何值吗?
【发布时间】:2020-02-22 14:38:39
【问题描述】:
def quick_sort(array, start, end):
    if start >= end:
        return
    p = partition(array, start, end)
    quick_sort(array, start, p-1)
    quick_sort(array, p+1, end)

我已经在 python 中尝试过这段代码(快速排序的片段)。

return 语句可以直接使用而不返回任何值吗?

【问题讨论】:

  • 尝试运行它,看看会发生什么:def f(): return。 (剧透:它将返回None),
  • return 没有值等于return None。如果您到达函数末尾时根本没有遇到return 语句,这与显式return 相同。

标签: python return quicksort


【解决方案1】:

这样做是可能的。将会发生的是,python 将简单地返回 None。

欲了解更多信息:link

【讨论】:

    【解决方案2】:

    是的,returnreturn None 相同。

    此外,没有返回语句与return None 相同。您可以将代码替换为:

    def quick_sort(array, start, end):
        if start < end:
            p = partition(array, start, end)
            quick_sort(array, start, p-1)
            quick_sort(array, p+1, end)
    

    【讨论】:

      【解决方案3】:

      Python是一种语言,每种语言都有一套规则,所以python说:

      "如果您必须定义一个函数,并且您打算使用该函数与其他程序进行通信,请使用 return。"

      return 语句用于结束函数调用的执行并将结果(return 关键字后面的表达式的值)“返回”给调用者。如果 return 语句没有任何表达式,则返回特殊值 None。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-12
        • 1970-01-01
        • 2012-10-24
        • 2021-07-23
        • 1970-01-01
        • 2022-12-04
        • 1970-01-01
        相关资源
        最近更新 更多