当前位置: 首页 > 面试题库 >

退货有什么作用?一无所有

应和光
2023-03-14
问题内容

我已经学习Python已有几天了。但是,我不明白回报。我已经从教科书和在线阅读了几种解释;他们没有帮助!

也许有人可以用简单的方式 解释什么回报 ?我已经写了几个有用的(对我来说)Python脚本,但是 我从未使用过return,
因为我不知道它的作用。

您能否提供一个 简单的示例 来说明为什么应该使用return?

它似乎也无能为力:

def sqrt(n):
    approx = n/2.0
    better = (approx + n/approx)/2.0
    while better != approx:
        approx = better
        better = (approx + n/approx)/2.0
    return approx

sqrt(25)

我的教科书告诉我: “尝试以25作为参数调用此函数,以确认它返回5.0。”

我知道如何检查的唯一方法是使用 print
。但是我不知道那是他们在寻找什么。问题只是说要用25进行调用。没有说要在代码中添加更多内容以确认其返回5.0。


问题答案:

return 从函数返回值:

def addseven(n):
    return n + 7

a = 9
b = addseven(a)
print(b)        # should be 16

它也可以用于退出功能:

def addseventosix(n):
    if n != 6:
        return
    else:
        return n + 7

但是,即使您return在函数中没有语句(或在不指定要返回值的情况下使用它),该函数仍会返回- None

def functionthatisuseless(n):
    n + 7

print(functionthatisuseless(8))        # should output None

有时您可能想从一个函数返回多个值。但是,您不能有多个return语句-
控制流会在第一个语句之后留下该函数,因此它执行后的所有操作都不会执行。在Python中,我们通常使用元组和元组解包:

def addsevenandaddeight(n):
    return (n+7, n+8)        # the parentheses aren't necessary, they are just for clarity

seven, eight = addsevenandaddeight(0)
print(seven)        # should be 7
print(eight)        # should be 8

return语句使您可以根据其他函数的结果调用函数:

def addseven(n):
    return n+7

def timeseight(n):
    return n*8

print(addseven(timeseight(9))

# what the intepreter is doing (kind of):
# print(addseven(72))    # 72 is what is returned when timeseight is called on 9
# print(79)
# 79


 类似资料:
  • 问题内容: 如果一个网页以…开头有什么区别 并且如果页面以 如果没有区别,我想我可以忽略元标头,因为我只想在所有IE版本中以最标准的方式呈现它。 问题答案: 这个答案是几年前发布的,现在的问题确实应该是 您_是否 _应该考虑 在您的网站上 使用 标记? 微软对其浏览器所做的更改(更多有关以下内容)。 根据您支持的Microsoft浏览器,您可能不需要继续使用该标记。如果您需要支持IE9或IE8,那

  • Java中Object有一个方法: public native int hashcode(); (1)hashcode()方法的作用 hashcode()方法主要配合基于散列的集合一起使用,比如HashSet、HashMap、HashTable。 当集合需要添加新的对象时,先调用这个对象的hashcode()方法,得到对应的hashcode值,实际上hashmap中会有一个table保存已经存进去

  • 问题内容: 我在一些Spring webflux代码中遇到了Mono.defer() 我在文档中查找了该方法,但不理解其中的解释: “创建一个Mono提供程序,该提供程序将提供目标Mono供每个下游的订阅者订阅” 请给我一个解释和一个例子。我可能会参考一堆Reactor示例代码(它们的单元测试?)的地方。 谢谢 问题答案: 这有点过分简化,但是从概念上讲,Reactor的来源要么是懒惰的,要么是渴

  • 问题内容: 我正在关注Stephen Grinder的教程,在那里他开始使用Promisify。 为此,他给出了非常模糊的解释,说redis需要回调函数,并且他发现非常不整洁+ redis不支持NodeJS中的promises。 然后他做了这样的事情 出于某种原因,我发现该解释含糊不清,有人可以以最人性化的方式进行解释吗?像他的意思和我们在做什么? 问题答案: 当您要将回调函数转换为基于promi

  • 问题内容: 具体来说,为什么对解决PermGen OutOfMemoryError问题有帮助? 另外,为我提供有关JVM参数文档的答案,还有加分。 问题答案: 永久空间是VM使用的类,方法,内部化的字符串以及类似对象的存储位置,并且从不释放(因此命名)。 这篇Oracle文章简洁地介绍了HotSpot GC的工作原理和参数化,并建议您在加载许多类时增加此空间(对于应用程序服务器和诸如Eclipse

  • 问题内容: 你能解释一下调用时会发生什么吗? 问题答案: 设置目标线程的中断状态/标志。然后在该目标线程中运行的代码可以轮询中断状态并适当地处理它。一些诸如之类的方法可能会立即消耗中断状态并抛出适当的异常(通常为) Java中的中断不是抢先的。换句话说,两个线程必须配合才能正确处理中断。如果目标线程未轮询中断状态,则该中断将被有效忽略。 通过返回当前线程的中断状态并清除该中断标志的方法进行轮询。通